日本語リスト(Selection List)

Selection List

チューナーでパネルに配置できるControlの一つにSelection Listがあり
これは1つ選択できるリストを作り、選択した行の文字列を取得しつつ設定したLuaを実行する

既存パネルのWorldBuilder.ltpにある資源設置用のSelection Listでは
大雑把に

  • クリックした行の文字列を取得して
  • 資源データから同じ名前のを探して
  • 資源設置モードで使う資源にセットする

のような流れなので
リストに並んでるのが日本語だと、資源データに日本語はないので資源設置は動作しない


※右の日本語表示のリストでは、資源設置は動作しない

複数列リスト

この時
Selection Listが複数列の場合、行をクリックして取得されるのは最初の列なので
最初の列を英語、次の列を日本語といった表示にすれば
英語でデータを取得しつつ、日本語でリストを見分けられる

リストの列追加

Selection Listでは「;」で区切ることで列を作る

リスト自体のNameをResourcesからResources;jpにすると
Resourcesの列の右に新しくjpの列が加わる

各行の列追加

リストの内容を列で分けるのも「;」で区切る

function()
	listItems = {};

	local i = 0;		

	for resource in GameInfo.Resources() do
		listItems [i + 1] = string.gsub( resource.ResourceType, "RESOURCE_", "" );
		i = i + 1;
	end

	return listItems;
end
		listItems [i + 1] = string.gsub( resource.ResourceType, "RESOURCE_", "" ) .. ";" .. Locale.Lookup(resource.Name);

7行目のResourceTypeをそのまま表示しようとしてる箇所の後ろに
; と日本語変換した資源名を追加する

Locale.Lookup()

Locale.Lookup()はLOC_で始まるタグを現在設定中の言語表記に変える関数