Files
mod_ui_base/docs/ja.md
T

5.1 KiB

UI — すべてのゲームで共有されるインターフェース

UI は全ゲームが共有するインターフェース層です。右上のツールバー、ゲーム内メニュー、セーブインジケーター、左上の通知、背景の表示、そしてパネル・ボタン・リストの共通デザインがここに集まっています。UI 自体は物語もルールも持ちません。ほぼすべての他の MOD が UI の上に成り立っているため、どのゲームにも含まれており、依存関係に挙げる MOD も非常に多くなっています。

Cthangover の正午のシーン:左上に時計、右上にツールバー、右側にシーンの選択肢。

ツールバー

アイコンごとにパネルが開きます。ボタンは固定ではなく、ゲームに含まれる各 MOD が自分のボタンを追加します。そのため、アイテムのないノベルにはインベントリのボタンがなく、Scenario Studio を含むゲームではアイコンが一つ増えます。

Cthangover のツールバー:ツール、マップ、インベントリ、キャラクター、勧誘した者たち、スキル、メニュー(歯車)、日誌。

Cthangover では左から順に:

  1. ツール — 開発者ツールのメニュー(エディターがゲームに含まれているときだけ)。
  2. マップ — ワールドマップ(Map Engine)。
  3. インベントリ — 所持品(Items)。
  4. キャラクター — パーティとキャラクター(Characters)。
  5. 勧誘した者たち — 勧誘で仲間にしたキャラクター(Recruiting)。
  6. スキル — スキル(Skills)。
  7. メニュー — 後述のゲーム内メニュー(この MOD)。
  8. 日誌 — クエスト(Quests)。

他のゲームでは並びが異なります。たとえば RPG Plus はキャラクターシートを追加します。

ゲーム内メニュー

歯車のアイコンでメニューが開きます:再開、セーブ、ロード、設定、メインメニュー、終了。セーブが許可されていないシーンでは、画像のように「セーブ」がグレーアウトします。「ロード」「セーブ」「設定」はメインメニューと同じウィンドウを開きます。

シーンの上に開いたゲーム内メニュー:Menu, Resume, Save, Load, Settings, Main menu, Exit。

通知

左上には短いメッセージが表示されます。日誌の新しい記録や、物語からのヒントなどです。同時に最大 4 件まで表示され、それぞれ約 10 秒で消えます。残りは順番を待ちます。

時計の下の通知:「あたりを見渡せ。路地に何か落ちている。」 — Cthangover プロローグのヒント。

MOD 作者向け

ツールバーボタンとそのパネルを追加するには、manifest の ui エントリーを使います。Items がインベントリを追加しているのがその例です:

"ui": [
  {
    "id": "inventory",
    "kind": "panel",
    "slot": "ModBeforeUIPanel",
    "scene_path": "scenes/ui/inventory_panel.tscn",
    "button": { "icon": "bag", "locale": "ui/inventory/title", "index": 20 },
    "priority": 10
  }
]
  • button.index がアイコンの順序を決めます(マップ 10、インベントリ 20、キャラクター 30、スキル 40、メニュー 50、日誌 60、スタジオ 90);
  • button.icon はアイコン名、button.locale はツールチップの翻訳キー;
  • button のないエントリーは、ゲームが自ら開くパネルやオーバーレイです。Crafting は作業台を "kind": "overlay" として ModLastPanel スロットに登録し、シナリオから開きます。

シナリオからパネルを開くには ui.toggle_panel アクションを、通知を表示するには notify コマンドを使います:

notify "日誌に新しい記録"

共通デザインを使う。 コードで組み立てたパネルは、フレームやラベル、チップ、ボタンを UI キット(UiKit)とその色・サイズのトークンから受け取ります。新しいパネルもゲームの見た目に自然になじみ、テーマに従います。

うまく動かないとき

  1. ツールバーにボタンがない。 そのボタンを追加する MOD がこのゲームに含まれていません。MOD とコレクションでゲームの構成を確認してください。
  2. 「セーブ」がグレーアウトしている。 現在のシーンはセーブを許可していません。別の場所へ移動してからもう一度。作者はシーンのシナリオのいずれかのヘッダーに save_allowed: true と書けばセーブを許可できます。
  3. パネルが開くが中身がない。 その MOD には、このゲームでまだ見せるものがないのです。たとえばクエストがまだ始まっていない、といった具合です。