コンテンツにスキップ

ArgodeSystem APIリファレンス

ArgodeSystemはArgodeフレームワークの中心的なシングルトンであり、コア機能を提供し、他のすべてのマネージャーのオーケストレーターとして機能します。これは、ArgodeをGodotプロジェクトに統合するための主要なエントリポイントです。

ArgodeSystemへのアクセス

ArgodeSystemはオートロードされたシングルトンであるため、Godotプロジェクト内の任意のスクリプトからグローバルにアクセスできます。

# ArgodeSystemへのアクセス
var argode_system = get_node("/root/ArgodeSystem") # オートロードの名前を"ArgodeSystem"にした場合
# または、プロジェクト設定でグローバルシングルトンとして設定した場合
# var argode_system = ArgodeSystem

初期化

Argodeの機能を使用する前に、システムを初期化する必要があります。これは通常、ゲームの開始時、通常はメインシーンのスクリプトから一度だけ行われます。

initialize_game(layer_map: Dictionary) -> bool

この関数は、Argodeフレームワークの包括的な初期化を実行します。視覚レイヤーを設定し、アセット定義を構築し、内部マネージャーを構成します。

  • layer_map (Dictionary): レイヤーロール名(例:"background""character""ui""effects")とそれに対応するGodotのCanvasLayerノードをマッピングする辞書です。これにより、Argodeをカスタムシーン構造と統合できます。

例:

# メインシーンの_ready()関数内
func _ready():
    var layer_map = {
        "background": $CanvasLayer_Background,
        "character": $CanvasLayer_Characters,
        "ui": $CanvasLayer_UI,
        "effects": $CanvasLayer_Effects
    }
    if ArgodeSystem.initialize_game(layer_map):
        print("ArgodeSystemが正常に初期化されました!")
    else:
        print("ArgodeSystemの初期化に失敗しました。")

スクリプト実行

ArgodeSystemは、.rgdスクリプトの実行を制御するためのメソッドを提供します。

start_script(script_path: String, label_name: String = "start")

指定されたラベルから.rgdスクリプトファイルをロードし、実行を開始します。

  • script_path (String): .rgdスクリプトファイルへのres://パス(例:"res://scenarios/chapter1.rgd")。
  • label_name (String): (オプション)実行を開始するスクリプト内のラベル名。デフォルトは"start"です。

例:

ArgodeSystem.start_script("res://scenarios/main_story.rgd", "prologue")

next_line()

スクリプトを次の行に進めます。これは通常、ダイアログや物語を進めるためのユーザー入力(例:マウスクリックやキープレス)に応答して呼び出されます。

例:

func _input(event):
    if event.is_action_pressed("ui_accept"):
        ArgodeSystem.next_line()

is_playing() -> bool

.rgdスクリプトが現在再生中であればtrueを、そうでなければfalseを返します。

カスタムコマンド管理

ArgodeSystemCustomCommandHandlerと対話するためのAPIを提供し、カスタムGDScriptコマンドを登録および管理できます。

get_custom_command_handler() -> CustomCommandHandler

CustomCommandHandlerインスタンスを返し、高度な使用のためにそのメソッドに直接アクセスできます。

register_custom_command(custom_command: BaseCustomCommand) -> bool

BaseCustomCommandのインスタンス(カスタムGDScriptコマンド)をフレームワークに登録します。

  • custom_command (BaseCustomCommand): BaseCustomCommandを継承するカスタムコマンドスクリプトのインスタンス。

register_command_by_callable(command_name: String, callable: Callable, is_sync: bool = false) -> bool

コマンド名をCallable(関数またはメソッド)に関連付けることで、カスタムコマンドを登録します。これは、GDScript関数を.rgdコマンドとして素早く公開する便利な方法です。

  • command_name (String): .rgdスクリプトに表示されるコマンドの名前(例:"my_effect")。
  • callable (Callable): コマンドが検出されたときに実行されるCallable(例:my_node.my_function)。
  • is_sync (bool): (オプション)trueの場合、スクリプトはCallableが完了するまで待機してから続行します。デフォルトはfalse(非同期)です。

list_custom_commands() -> Array[String]

現在登録されているすべてのカスタムコマンドの名前を含む文字列の配列を返します。デバッグや動的なコマンドリスト表示に役立ちます。

シグナル

ArgodeSystemは、カスタムロジックや監視のために接続できるいくつかのシグナルを発行します。

system_initialized

initialize_game()関数がすべての初期化ステップを正常に完了したときに発行されます。

system_error(message: String)

ArgodeSystemの初期化または操作中に致命的なエラーが発生したときに発行されます。messageパラメータはエラーの詳細を提供します。

definition_loaded(results: Dictionary)

すべての定義ファイル(例:characters.rgdassets.rgd)がロードおよび処理された後に発行されます。results辞書には、ロードされた定義に関する情報が含まれています。


ScriptPlayer APIについて学ぶ → マネージャーAPIについて学ぶ →