このセクションでは、基本レベルのUIシステム定義と関数について説明します。
要素 - 最上位 | |
Interface | インターフェースXMLファイルの中でも最上位のXMLタグです。 |
子要素 - Interface | 以下の要素はシーケンス要素です。 |
Include | インクルードするXMLファイルの相対パスを指定します。 |
Scripts | インクルードするLuaファイルの相対パスを指定します。 |
Assets | 全てのソースファイルアセット用のコンテナタグです。 |
Windows | ウィンドウに新しく子ウィンドウを追加することができます。 |
子要素 - Scripts | |
Script | インクルードするLuaファイルの相対パスを指定します。 |
子要素 - Assets | |
Texture | 単体のアートテクスチャコンポーネントを定義します。 |
Font | フォントを定義します。 |
Icon | 単体のアイコンデータを定義します。 |
MapIcon | 単体のアイコンデータを定義します。 |
インターフェースXMLファイルの中でも最上位のXMLタグです。
他の全ての要素は Interface タグ内に含まれていなければなりません。
<?xml version="1.0" encoding="UTF-8"?> <Interface xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../Interface.xsd"> ... </Interface>
xmlns:xsi | XML言語の仕様が記載されている場所。 |
xsi:noNamespaceSchemaLocation | InterfaceのXMLスキーマの場所。 |
インクルードするXMLファイルの相対パスを指定します。
この要素は、 Interface タグの中に含まれていなければなりません。
<Include file="Source/ChatWindow.xml" />
file | 呼び出すXMLファイルの相対パス。 |
ウィンドウに新しく子ウィンドウを追加することができます。
<Windows> <Window name="UO_DefaultWindow" movable="false" popable="false"> <Windows> <DynamicImage name="$parentSquareIcon" textureScale="0.8" handleinput="false"> ... </DynamicImage> <Label name="$parentDesc" font="font_default_text" > ... </Label> </Windows> </Window> </Windows>
インクルードするLuaファイルの相対パスを指定します。
この要素は、 Scripts タグの中に含まれていなければなりません。
<Script file="Interface.lua" />
file | 呼び出すLuaファイルの相対パス。 |
単体のアートテクスチャコンポーネントを定義します。
この要素は、 Assets タグの中に含まれている必要があります。
<Texture name="ui_main" file="Textures/UI_Main01.dds" />
name | 他のウィンドウ要素テクスチャフィールドで使用されるテクスチャの名前。 |
file | 呼び出すテクスチャファイルの相対パス。 |
フォントを定義します。
この要素は、 Assets タグの中に含まれている必要があります。
<Font name="font_default_text" face="AgeOfReckoning" file="fonts/AgeOfReckoning.ttf" height="18" texsize="256" antialias="true" hinting="false" autohinting="true" outline="true" shadow="false"/>
name | このフォント定義を呼び出す際の名前。 |
face | フォントタイプのフェイスネーム。 |
file | 呼び出すフォントファイルの相対パス。 |
height | フォントの縦幅。 |
texsize | フォントをレンダリングするのに使うテクスチャサイズ。テキスチャーが領域を使い果たした場合には、このサイズの追加テクスチャが必要に応じて作成されます。 |
anitialias | アンチエイリアスの有効・無効。 |
hinting | TrueTypeフォントのヒンティングアルゴリズムのオン・オフ。 |
autohinting | FreeTypeのカスタムヒンティングアルゴリズムのオン・オフ。 |
outline | 文字のアウトラインのオン・オフ。 |
shadow | 文字のドロップシャドウのオン・オフ。 |
単体のアイコンデータを定義します。
この要素は、 Assets タグの中に含まれている必要があります。
<Icon id="00100" texture="Icons/Skl_Strength.dds" x="0" y="0" name="Strength Icon"/>
id | アイコンのID番号。固有の値でなければなりません。 |
texture | 呼び出すアイコンテクスチャファイルの相対パス。 |
x | テクスチャ内のX座標。 |
y | テクスチャ内のY座標。 |
name | 説明用名前フィールド。判別しやすくするためだけに追加されたもので、実際には何も読み込まれません。 |
単体のアイコンデータを定義します。
この要素は、 Assets タグの中に含まれている必要があります。
<MapIcon id="00001" texture="map_markers01" textureX="514" textureY="2" sizeX="16" sizeY="21" pointX="8" pointY="10" />
id | アイコンのID番号。固有の値でなければなりません。 |
texture | マップアイコン用のUIテクスチャ名。 |
textureX | テクスチャ内のX座標。 |
textureY | テクスチャ内のY座標。 |
sizeX | Xピクセルのサイズ(幅)。 |
sizeY | Yピクセルのサイズ(高さ)。 |
pointX | アイコン内の中心となるポイントのX座標。 |
pointY | アイコン内の中心となるポイントのY座標。 |
定数 (UI Log Filters Type) | |
SystemData. | 一般的なUIシステムメッセージ。 |
SystemData. | 警告メッセージ - 期待した通りには動かないかもしれません。 |
SystemData. | Lua/XMLプロセスのエラー。 |
SystemData. | ユーザーにより生成されるデバッグメッセージ。 |
SystemData. | Luaの関数呼び出し。 |
SystemData. | ファイル読み込みのログメッセージ。 |
定数 (Button Flags) | |
SystemData. | Shiftキーが押されます。 |
SystemData. | Controlキーが押されます。 |
SystemData. | Altキーが押されます。 |
string | この変数にはコールバックイベントで現在アクティブなウィンドウの名前が入ります。これは全ての SystemData.Events.UPDATE_PROCESSED よりも前に更新されます。 |
boolean | この変数には最後のエンターキーイベントの結果が入ります。もしイベントがUIによって扱われた場合はTrueになり、そうでない場合はFalseになります。これは全ての SystemData.Events.ENTER_KEY_PROCESSED よりも前に更新されます。 |
全てのイベントは、 SystemData.Events.[EVENT_NAME] の形式でLuaテーブル内にキャッシュされます。
イベント | |
SystemData. | このイベントはエンターキーのプロセスが完了した時にブロードキャストされます。 |
SystemData. | このイベントはエスケープキーのプロセスが完了した時にブロードキャストされます。 |
SystemData. | このイベントはLButtonDownのプロセスが完了した時にブロードキャストされます。 |
SystemData. | このイベントはLButtonUpのプロセスが完了した時にブロードキャストされます。 |
SystemData. | このイベントはRButtonDownのプロセスが完了した時にブロードキャストされます。 |
SystemData. | このイベントはRButtonUpのプロセスが完了した時にブロードキャストされます。 |
SystemData. | このイベントはアップデートパスが完了した時にブロードキャストされます。 |
SystemData. | このイベントは全てのモジュールがOnInitializeハンドラーを実行した後にブロードキャストされます。 |
このイベントはエンターキーのプロセスが完了した時にブロードキャストされます。
変数 SystemData.InputProcessed.EnterKey は各ブロードキャストよりも前に更新されます。
このイベントはエスケープキーのプロセスが完了した時にブロードキャストされます。
変数 SystemData.InputProcessed.EscapeKey は各ブロードキャストよりも前に更新されます。
関数 | |
LoadResources() | XMLファイルからUIリソースを読み込みます。 |
RegisterWindowSet() | UIシステムに新しいウィンドウセットを登録します。 |
CreateWindow() | 新しいウィンドウを作成します。 |
CreateWindowFromTemplate() | テンプレートから新しいウィンドウを作成します。 |
CreateWindowFromTemplateShow() | テンプレートから新しいウィンドウを作成して表示します。 |
DestroyWindow() | 現在のUIからウィンドウとその子ウィンドウたちを削除します。 |
GetScreenResolution() | 現在の画面解像度を返します。 |
BroadcastEvent() | UIシステムの割り当てられたイベントプロセッサーでイベントをブロードキャストします。 |
BuildTableFromCSV() | CSVファイルからLuaテーブルを作成します。 |
GetIconData() | 指定したアイコンIDのデータを返します。 |
GetMapIconData() | 指定したマップアイコンIDのデータを返します。 |
LoadStringTable() | 名前を指定して新しい文字列テーブルを作成します。 |
UnloadStringTable() | 指定した文字列テーブルを解放します。 |
GetStringFromTable() | 文字列テーブルから指定した文字列を返します。 |
GetStringFormatFromTable() | paramsテーブルの値に置き換えられた代替タグを持つ文字列テーブルから文字列を返します。 |
LogSystem() | 使用可能な全ての関数と変数のリストをルートフォルダに出力します。 |
CreateUIDocumentFile() | 使用可能な全ての関数と変数のリストを、NaturalDocsスタイルで出力します。 |
StringToWString() | 文字列をワイド文字列に変換します。 |
WStringToString() | ワイド文字列を文字列に変換します。 |
ScaleInterface() | UIのマスタースケール(縮尺)を設定します。 |
SetUseLuaErrorHandling() | UIのデバッグ時に、lua_errors を表示するかどうかを設定します。 |
GetUseLuaErrorHandling() | Luaエラー表示の現在の設定を返します。 |
SetLoadLuaDebugLibrary() | UIが再読込された時に、Luaデバッグライブラリを読み込むかどうかを設定します。 |
GetLoadLuaDebugLibrary() | Luaデバッグライブラリ読み込みの現在の設定を返します。 |
SetCheckForCircularDependencies() | UIが循環依存を確認する必要がある場合に設定します。 |
GetCheckForCircularDependencies() | 循環依存の確認の現在の設定を返します。 |
SetItemDragging() | UIシステムに、現在何かをドラッグ中であることを伝えます。 |
RegisterEventHandler() | ウィンドウのイベントハンドラーにLuaコールバックを登録します。 |
UnregisterEventHandler() | ウィンドウのイベントハンドラーに登録されているLuaコールバックを解除します。 |
ForceProcessAllWindowAnchors() | 全てのウィンドウにアンカリング処理を強制します。 |
XMLファイルからUIリソースを読み込みます。
directory | (string) 読み込み先のディレクトリ。 |
xmlFileName | (number) メインXMLファイルの名前。 |
allowRaw | (boolean) true = Rawバージョンのファイルを読み込める, false = 読み込めない |
nil | 戻り値無し。 |
UIシステムに新しいウィンドウセットを登録します。
現在のウィンドウセットが変更される場合には、特定のLuaコールバック関数が呼び出されます。
setId | (number) ウィンドウセットのID番号。 |
initializationFunction | (string) 初期化時に呼び出されるLuaコールバック関数。 |
shutdownFunction | (string) シャットダウン時に呼び出されるLuaコールバック関数。 |
nil | 戻り値無し。 |
テンプレートから新しいウィンドウを作成します。
windowName | (string) 作成するウィンドウの名前。 |
templateName | (string) 作成時に使用するXMLテンプレートの名前。 |
parent | (string) この新しいウィンドウの親となるウィンドウの名前。 |
boolean | ウィンドウが作成されたかどうかに関わらず。 |
テンプレートから新しいウィンドウを作成して表示します。
windowName | (string) 作成するウィンドウの名前。 |
templateName | (string) 作成時に使用するXMLテンプレートの名前。 |
parent | (string) この新しいウィンドウの親となるウィンドウの名前。 |
showWindow | (boolean) true = 作成後にウィンドウを表示する, false = 表示しない |
boolean | ウィンドウが作成されたかどうかに関わらず。 |
現在のUIからウィンドウとその子ウィンドウたちを削除します。
もし、 OnShutdown コールバックが指定されているなら、そのコールバックは削除前に実行されます。
windowName | (string) ウィンドウの名前。 |
nil | 戻り値無し。 |
UIシステムの割り当てられたイベントプロセッサーでイベントをブロードキャストします。
これはゲームシステムとLuaインターフェースレイヤー間の主要な情報伝達の方法として設計されています。
eventId | (number) ブロードキャストするイベントID。 |
nil | 戻り値無し。 |
指定したアイコンIDのデータを返します。
iconId | (string) アイコンID |
texutureName | (string) アイコンのテクスチャ名。 |
xTexCoord | (number) テクスチャ内のXピクセルテクスチャ座標。 |
yTexCoord | (number) テクスチャ内のYピクセルテクスチャ座標。 |
disabledTexutureName | (string) アイコンの使用不可バージョンのテクスチャ名。 |
Icon -1 | アイコンの定義が間違っている。 |
Icon -2 | アイコンのテクスチャが見つからない。 |
local texture, x, y, disabledTexture = GetIconData( iconNum )
指定したマップアイコンIDのデータを返します。
iconId | (string) マップアイコンのID。 |
texutureName | (string) アイコンのテクスチャ名。 |
xTexCoord | (number) テクスチャ内のXピクセルテクスチャ座標。 |
yTexCoord | (number) テクスチャ内のYピクセルテクスチャ座標。 |
xSize | (number) アイコンのXピクセルサイズ。 |
ySize | (number) アイコンのYピクセルサイズ。 |
rTintColor | (number) アイコンの赤色の濃淡値(0-255)。 |
gTintColor | (number) アイコンの緑色の濃淡値(0-255)。 |
bTintColor | (number) アイコンの青色の濃淡値(0-255)。 |
local texture, textureX, textureY, sizeX, sizeY, colorR, colorG, colorB = GetMapIconData( ptData.icon )
名前を指定して新しい文字列テーブルを作成します。
tableName | (string) この新しい文字列テーブルの名前。 |
fileDirectory | (string) 文字列テーブルファイルのディレクトリ。 |
fileName | (string) 文字列テーブルファイルのファイル名。 |
cacheDir | (string) 文字列テーブルファイル用のキャッシュディレクトリ。 |
enumRoot | (string) 文字列テーブルの列挙(enumeration)を作るのに使うLuaテーブル名。 |
nil | 戻り値無し。 |
LoadStringTable("Default", "data/strings/"..language, "default.txt", "cache/"..language, "StringTables.Default" )
UIのデバッグ時に、lua_errors を表示するかどうかを設定します。
表示する場合、関数呼び出しの失敗などのエラーをコードが検知すると lua_error が発動し、Luaスクリプトを強制的に停止します。また、DebugWindowにファイル名と行番号をエラーメッセージとして表示します。
enabled | (boolean) true = 表示する, false = 表示しない |
nil | 戻り値無し。 |
local enabled = GetUseLuaErrorHandling() enabled = not enabled SetUseLuaErrorHandling( enabled )
UIが再読込された時に、Luaデバッグライブラリを読み込むかどうかを設定します。
enabled | (boolean) true = 読み込む, false = 読み込まない |
nil | 戻り値無し。 |
local enabled = GetLoadLuaDebugLibrary() enabled = not enabled SetLoadLuaDebugLibrary( enabled )
UIが循環依存を確認する必要がある場合に設定します。
UI開発者のための機能で、この機能を有効にすると負荷が増えますが、追加デバッグチェックを利用できるようになります。現在利用出来る追加機能は次の通りです:
enabled | (boolean) true = 確認する, false = 確認しない |
nil | 戻り値無し。 |
local enabled = SetCheckForCircularDependencies() enabled = not enabled SetCheckForCircularDependencies( enabled )
ウィンドウのイベントハンドラーにLuaコールバックを登録します。
eventId | (number) コールバックを登録するイベントIDの番号。 |
callback | (string) イベント発生時に呼び出されるLua関数の名前(フルネーム)。 |
nil | 戻り値無し。 |
RegisterEventHandler( SystemData.Events.PLAYER_CUR_HIT_POINTS_UPDATED, "PlayerWindow.UpdateCurrentHitPoints")