GoDrawer — 横から出るパネル
GoSheet は下から出る。縦に持ったスマートフォンにはそれが正しい。タブレットやデスクトップでは、
同じシートがゲームを覆ってしまう。ドロワーは代わりに横から出る。
bag.side = GoDrawer.Side.RIGHT
bag.open("かばん")
パネルは画面の端まで届くが、中身はセーフエリアの内側に留まる。そうしないと、丸めた角が最初の行を切り
落とす。LEFT はアラビア語でも画面の左だ。「始まりの側」であることが要点なら
follow_text_direction を有効にする。RTL では左右が入れ替わる。
GoPopover — 脇に留まるカード
GoPopover.open(slot, item_card(item))
GoSurface の脇に留まる配置に、レイヤーもサーフェスもアンカーも後片付けも配線済みの
ものだ — どのゲームも何度も書く、あの10行である。開くのは一度に1つだけだ。カードが積み重なると画面が埋まり、
どのカードがどのスロットのものか分からなくなる。幕は透明だ。装備を見比べるために開いたカードが、その装備を
暗くしてはならない。
ホバーのツールチップではない。 タッチにホバーはない。マウスでしか現れないものは、プレイヤーの半分
には見えないままだ。
GoContextMenu — 長押しと右クリック
GoContextMenu.attach(item_slot, [
{"text": "使う", "action": use},
{"separator": true},
{"text": "捨てる", "action": drop, "danger": true},
])
PopupMenu はエンジンにすでにある。ないのはジェスチャーのほうだ。開くまで 0.5 秒、
指が動いた瞬間に取り消す。だからリストをスクロールしてもメニューは出てこない。項目が「どれを押したか」
で変わるなら、配列の代わりに Callable を渡す。
長押しには、もう1つの入り口が要る。 隠れたジェスチャーは誰にも見つけられない — 目に見える
⋯ ボタン(open_at())や、アイコンや、初回のコーチマークと組み合わせる。
GoConsole — 開発者コンソール
console.register("give", "アイテムを与える: give <id> <count>", give)
console.toggle()
チートとデバッグのコマンドだ。打つそばから絞り込むパレットが付くので、覚えておく必要はない。履歴は 矢印キーに載っている。すべての上に出るので、ダイアログの上からでもデバッグできる。
リリースビルドでは開かない。
debug_only は既定で有効だ。チートコマンドがプレイヤーの手に
渡れば、ゲームの経済は初日で終わる。