ログディスプレイ (LogDisplay) は、任意の数の TextLog を表示するためのスクロール表示機能を提供します。
LogDisplay | ログディスプレイ (LogDisplay) は、任意の数の TextLog を表示するためのスクロール表示機能を提供します。 |
実装の詳細 | ログディスプレイは、ログエントリをゲーム内で視覚的に見えるよう表示するため、 TextLog 要素と組み合わせて動作します。 |
XML定義 | |
XMLタグ | |
任意属性 | |
font | 使用するフォント定義の名前。 |
scrollbar | テキストがウィンドウの縦幅からはみ出る場合に使う垂直スクロールバーの名前。 |
scrollbarPosition | 垂直スクロールバーの位置を設定します。 |
background | 背景として使用するフルリサイズイメージの名前。 |
linespacing | ログディスプレイの行間。 |
maxchars | 表示可能な最大文字数。 |
maxentries | 表示されるそれぞれのテキストログの最大エントリ行数を設定します。 |
textFadeTime | 新しいエントリが追加された後に、画面上にテキストが残る時間を設定します。 |
autoHideScrollBar | 現在のログディスプレイのコンテンツがウィンドウ1ページ以内に収まる時、スクロールバーを自動的に隠します。 |
関数 | |
関数 | |
LogDisplayAddLog() | ログディスプレイに指定のテキストログを追加します。 |
LogDisplayRemoveLog() | ログディスプレイから指定のテキストログを削除します。 |
LogSetLimit() | ログディスプレイに表示する最大エントリ数を設定します。 |
LogDisplaySetShowTimestamp() | それぞれのエントリの頭にタイムスタンプを表示するかどうかを設定します。 |
LogDisplayGetShowTimestamp() | 現在、それぞれのエントリの頭にタイムスタンプが表示されているかどうかを調べて値を返します。 |
LogDisplaySetShowLogName() | それぞれのエントリの頭にテキストログ名を表示するかどうかを設定します。 |
LogDisplayGetShowLogName() | 現在、それぞれのエントリの頭にテキストログ名が表示されているかどうかを調べて値を返します。 |
LogDisplaySetShowFilterName() | それぞれのエントリの頭にフィルタタイプ名を表示するかどうかを設定します。 |
LogDisplayGetShowFilterName() | 現在、それぞれのエントリの頭にフィルタタイプ名が表示されているかどうかを調べて値を返します。 |
LogDisplaySetFilterColor() | 指定したテキストログ、フィルタタイプが使う色を設定します。 |
LogDisplayGetFilterColor() | 指定したテキストログ、フィルタタイプが現在使用している色を返します。 |
LogDisplaySetFilterState() | 指定したテキストログで指定したフィルタタイプを表示するかどうかを設定します。 |
LogDisplayGetFilterState() | 指定したテキストログで指定したフィルタタイプが現在表示されているのかどうかを調べて値を返します。 |
LogDisplayHideFilterSubType() | フィルタサブタイプを表示するかどうかを設定します。 |
LogDisplaySetTextFadeTime() | テキストをフェードアウトさせるまでの表示時間を設定します。0を設定するとフェードアウトしません。 |
LogDisplayGetTextFadeTime() | 現在の、テキストをフェードアウトさせるまでの表示時間を返します。 |
LogDisplayIsScrollbarActive() | この表示に対してスクロールバーが必要とされているかどうかを返します。 |
LogDisplaySetFont() | ログディスプレイに表示されるテキストが使用するフォントの名前を設定します。 |
LogDisplayGetFont() | ログディスプレイに表示されるテキストが使用しているフォントの名前を返します。 |
LogDisplayScrollToBottom() | 表示を最下部までスクロールさせます。 |
LogDisplayIsScrolledToBottom() | 表示が最下部までスクロールされたかどうかを調べて値を返します。 |
LogDisplayResetLineFadeTime() | 全てのテキスト行をフェードアウトさせるまでの時間をリセットします。 |
LogDisplayShowScrollbar() | スクロールバーを表示するかしないかを設定します。 |
LogDisplayScrollToTop() | 表示を最上部までスクロールさせます。 |
LogDisplayIsScrolledToTop() | 表示が最上部までスクロールされたかどうかを調べて値を返します。 |
ログディスプレイは、ログエントリをゲーム内で視覚的に見えるよう表示するため、 TextLog 要素と組み合わせて動作します。
テキストログディスプレイでできることは次の通りです……
その時点での全てのテキストをレンダリングしたものを作成する ScrollWindow や PageWindow コントロールと異なり、ログディスプレイはウィンドウ上であなたが目にしている部分のテキストのみをレンダリングします。内部的には、テキストログ表示はウィンドウのフォントサイズとウィンドウサイズに応じて、それぞれのエントリの行を解析します。
エントリの数に合わせてスクロールバーが自動的に作成され、更新されます。また、ログディスプレイは、新しい発言で更新されるテキストウィンドウで使用できるいくつかの特別な機能を持っています。以下はその一例です:
XMLタグ | |
任意属性 | |
font | 使用するフォント定義の名前。 |
scrollbar | テキストがウィンドウの縦幅からはみ出る場合に使う垂直スクロールバーの名前。 |
scrollbarPosition | 垂直スクロールバーの位置を設定します。 |
background | 背景として使用するフルリサイズイメージの名前。 |
linespacing | ログディスプレイの行間。 |
maxchars | 表示可能な最大文字数。 |
maxentries | 表示されるそれぞれのテキストログの最大エントリ行数を設定します。 |
textFadeTime | 新しいエントリが追加された後に、画面上にテキストが残る時間を設定します。 |
autoHideScrollBar | 現在のログディスプレイのコンテンツがウィンドウ1ページ以内に収まる時、スクロールバーを自動的に隠します。 |
テキストがウィンドウの縦幅からはみ出る場合に使う垂直スクロールバーの名前。
string | 有効な VerticalScrollbar の名前。 |
関数 | |
LogDisplayAddLog() | ログディスプレイに指定のテキストログを追加します。 |
LogDisplayRemoveLog() | ログディスプレイから指定のテキストログを削除します。 |
LogSetLimit() | ログディスプレイに表示する最大エントリ数を設定します。 |
LogDisplaySetShowTimestamp() | それぞれのエントリの頭にタイムスタンプを表示するかどうかを設定します。 |
LogDisplayGetShowTimestamp() | 現在、それぞれのエントリの頭にタイムスタンプが表示されているかどうかを調べて値を返します。 |
LogDisplaySetShowLogName() | それぞれのエントリの頭にテキストログ名を表示するかどうかを設定します。 |
LogDisplayGetShowLogName() | 現在、それぞれのエントリの頭にテキストログ名が表示されているかどうかを調べて値を返します。 |
LogDisplaySetShowFilterName() | それぞれのエントリの頭にフィルタタイプ名を表示するかどうかを設定します。 |
LogDisplayGetShowFilterName() | 現在、それぞれのエントリの頭にフィルタタイプ名が表示されているかどうかを調べて値を返します。 |
LogDisplaySetFilterColor() | 指定したテキストログ、フィルタタイプが使う色を設定します。 |
LogDisplayGetFilterColor() | 指定したテキストログ、フィルタタイプが現在使用している色を返します。 |
LogDisplaySetFilterState() | 指定したテキストログで指定したフィルタタイプを表示するかどうかを設定します。 |
LogDisplayGetFilterState() | 指定したテキストログで指定したフィルタタイプが現在表示されているのかどうかを調べて値を返します。 |
LogDisplayHideFilterSubType() | フィルタサブタイプを表示するかどうかを設定します。 |
LogDisplaySetTextFadeTime() | テキストをフェードアウトさせるまでの表示時間を設定します。0を設定するとフェードアウトしません。 |
LogDisplayGetTextFadeTime() | 現在の、テキストをフェードアウトさせるまでの表示時間を返します。 |
LogDisplayIsScrollbarActive() | この表示に対してスクロールバーが必要とされているかどうかを返します。 |
LogDisplaySetFont() | ログディスプレイに表示されるテキストが使用するフォントの名前を設定します。 |
LogDisplayGetFont() | ログディスプレイに表示されるテキストが使用しているフォントの名前を返します。 |
LogDisplayScrollToBottom() | 表示を最下部までスクロールさせます。 |
LogDisplayIsScrolledToBottom() | 表示が最下部までスクロールされたかどうかを調べて値を返します。 |
LogDisplayResetLineFadeTime() | 全てのテキスト行をフェードアウトさせるまでの時間をリセットします。 |
LogDisplayShowScrollbar() | スクロールバーを表示するかしないかを設定します。 |
LogDisplayScrollToTop() | 表示を最上部までスクロールさせます。 |
LogDisplayIsScrolledToTop() | 表示が最上部までスクロールされたかどうかを調べて値を返します。 |
ログディスプレイに指定のテキストログを追加します。
logDisplayName | (string) ログディスプレイの名前。 |
textLogName | (string) TextLog の名前。 |
addEntries | (boolean) すでにログにあるエントリを追加で表示するか否か? |
nil | 戻り値無し。 |
LogDisplayAddLog("ChatWindowChatLogDisplay", "Chat", true)
ログディスプレイから指定のテキストログを削除します。
logDisplayName | (string) ログディスプレイの名前。 |
logName | (string) TextLog の名前。 |
nil | 戻り値無し。 |
LogDisplayRemoveLog("ChatWindowChatLogDisplay", "Chat" )
それぞれのエントリの頭にテキストログ名を表示するかどうかを設定します。
logDisplayName | (string) ログディスプレイの名前。 |
showLogName | (boolean) true = TextLog 名を表示する, false = 表示しない |
nil | 戻り値無し。 |
LogDisplaySetShowLogName("ChatWindowChatLogDisplay", false )
現在、それぞれのエントリの頭にテキストログ名が表示されているかどうかを調べて値を返します。
logDisplayName | (string) ログディスプレイの名前。 |
showLogName | (boolean) true = TextLog 名が表示されている, false = 表示されていない |
local showLogName = LogDisplayGetShowLogName("ChatWindowChatLogDisplay" )
指定したテキストログ、フィルタタイプが使う色を設定します。
logDisplayName | (string) ログディスプレイの名前。 |
textLogName | (string) TextLog の名前。 |
filterId | (integer) テキストログに含まれるフィルタID。 |
red | (integer) テキストカラーの赤値 (0-255) |
green | (integer) テキストカラーの緑値 (0-255) |
blue | (integer) テキストカラーの青値 (0-255) |
nil | 戻り値無し。 |
LogDisplaySetFilterColor("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY, 255, 255, 255 )
指定したテキストログ、フィルタタイプが現在使用している色を返します。
logDisplayName | (string) ログディスプレイの名前。 |
textLogName | (string) TextLog の名前。 |
filterId | (integer) テキストログに含まれるフィルタID。 |
red | (integer) テキストカラーの赤値 (0-255) |
green | (integer) テキストカラーの緑値 (0-255) |
blue | (integer) テキストカラーの青値 (0-255) |
LogDisplayGetFilterColor("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY, 255, 255, 255 )
指定したテキストログで指定したフィルタタイプを表示するかどうかを設定します。
logDisplayName | (string) ログディスプレイの名前。 |
textLogName | (string) TextLog の名前。 |
filterId | (integer) テキストログに含まれるフィルタID。 |
showFilterType | (boolean) true = フィルタタイプを表示する, false = 表示しない |
nil | 戻り値無し。 |
LogDisplaySetFilterState("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY, true )
指定したテキストログで指定したフィルタタイプが現在表示されているのかどうかを調べて値を返します。
logDisplayName | (string) ログディスプレイの名前。 |
textLogName | (string) TextLog の名前。 |
filterId | (integer) テキストログに含まれるフィルタID。 |
showFilterType | (boolean) true = フィルタタイプが表示されている, false = 表示されていない |
local isDisplayed = LogDisplayGetFilterState("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY )
フィルタサブタイプを表示するかどうかを設定します。
logDisplayName | (string) ログディスプレイの名前。 |
textLogName | (string) TextLog の名前。 |
filterId | (integer) テキストログに含まれるフィルタID。 |
showFilterType | (boolean) フィルタタイプを表示するか否か? |
filterSubTypeName | (string) フィルタサブタイプの名前。 |
hideSubType | (boolean) サブタイプを表示するか否か? |
nil | 戻り値無し。 |
LogDisplayHideFilterSubType( "ChatWindowChatLogDisplay", "Chat", SystemData.ChatLogFilters.TELL_RECEIVE, name, true )