【目次】
ClientScene01で管理しているGUI
ClientScene02で管理しているGUI
ClientScene03で管理しているGUI
ClientScene04で管理しているGUI
ClientScene05で管理しているGUI
ClientScene01で管理しているGUI▲
パッケージエクスプローラーにある prefork_battle_matching プロジェクト内の Class フォルダには
ClientScene○○.cpp および ClientScene○○.h がありますが、それぞれ端末上の操作に伴う画面遷移ごとに用意されています。
ここは MonobitRealtimeEngine そのものとは関係ありませんが、
プログラムサンプルとして不鮮明な部分がありますので、解説を加えておきます。
■ ClientScene01.cpp , ClientScene01.h にて管理されている画面構成
ClientScene01 では、サンプルプログラム起動直後の以下の画面を構成・管理しています。

この画面構成をGUI配置しているのが ClientScene01::initializeLogic() 関数になります。
※ ClientScene01::initializeLogic() 関数は ClientScene01::init() (自動初期化)関数から呼び出されます。
■ ClientScene02 へのシーン遷移
[マッチングサーバ接続] ボタンを押下したときに ClientScene01::menuStartCallback() 関数が呼ばれ、
入力欄にある IPアドレスやポート番号をもとに接続処理(Classes/sample/core/Client.cpp にある
Client::SelectServer() 関数)を実行し、ClientScene02 クラスへのシーン移譲を行なっています。
ClientScene02で管理しているGUI▲
■ ClientScene02.cpp , ClientScene02.h にて管理されている画面構成
ClientScene02 では、[マッチングサーバ接続] ボタン押下後の以下の画面を構成・管理しています。

この画面構成をGUI配置しているのが ClientScene02::initializeLogic() 関数になります。
※ ClientScene02::initializeLogic() 関数は ClientScene02::init() (自動初期化)関数から呼び出されます。
■ ClientScene03 へのシーン遷移
[マッチングスタート] ボタンを押下したときに ClientScene02::menuStartCallback() 関数が呼ばれ、入力欄にある情報をもとに
マッチング入室処理(Classes/sample/core/Client.cpp にある Client::EnterMatchingRoom()
関数)を実行し、
ClientScene03 クラスへのシーン移譲を行なっています。
■ ClientScene05 へのシーン遷移
[マッチング退室] ボタンを押下したときに ClientScene02::menuExitCallback() 関数が呼ばれ、
ClientScene05 クラスへのシーン移譲を行なっています。
ClientScene03で管理しているGUI▲
■ ClientScene03.cpp , ClientScene03.h にて管理されている画面構成
ClientScene03 では、[マッチングスタート] ボタン押下後の以下の画面を構成・管理しています。

この画面構成をGUI配置しているのが ClientScene03::initializeLogic() 関数になります。
※ ClientScene03::initializeLogic() 関数は ClientScene03::init() (自動初期化)関数から呼び出されます。
■ ClientScene04 へのシーン遷移
[強制バトルスタート] ボタンを押下したときに ClientScene03::menuStartCallback() 関数が呼ばれ、
強制バトル開始処理(Classes/sample/core/Client.cpp にある Client::ForceBattleStart()
関数)を実行し、
ClientScene04 クラスへのシーン移譲を行なっています。
また、「他クライアントから強制バトルスタートが押下された」「マッチング人数が揃ってサーバ命令でバトルが開始された」
「一定時間が経過してサーバ命令でバトルが強制開始された」場合には、 ClientScene03::updateLogic() 関数内で
強制的に ClientScene04 クラスへのシーン移譲を行なっています。
※ ClientScene03::updateLogic() 関数は、 ClientScene03::update() (自動更新)関数から呼び出されます。
■ ClientScene05 へのシーン遷移
[バトル退室] ボタンを押下したときに ClientScene02::menuExitCallback() 関数が呼ばれ、
ClientScene05 クラスへのシーン移譲を行なっています。
ClientScene04で管理しているGUI▲
■ ClientScene04.cpp , ClientScene04.h にて管理されている画面構成
ClientScene04 では、バトル開始後の以下の画面を構成・管理しています。

この画面構成をGUI配置しているのが ClientScene04::initializeLogic() 関数になります。
※ ClientScene04::initializeLogic() 関数は ClientScene04::init() (自動初期化)関数から呼び出されます。
■ チャットワードの送信
[発言する] ボタンを押下したときに ClientScene04::menuChatCallback() 関数が呼ばれ、発言内容ボックスの内容に合わせ
チャット文字列送信処理(Classes/sample/core/Client.cpp にある Client::SendChat() 関数)を実行します。
■ ClientScene05 へのシーン遷移
[バトルから退室] ボタンを押下したときに ClientScene04::menuExitCallback() 関数が呼ばれ、
強制バトル退室処理(Classes/sample/core/Client.cpp にある Client::ExitGame() 関数)を実行し、
ClientScene05 クラスへのシーン移譲を行なっています。
ClientScene05で管理しているGUI▲
■ ClientScene05.cpp , ClientScene05.h にて管理されている画面構成
ClientScene05 では、バトル終了後の以下の画面を構成・管理しています。(ログ表示だけです)

この画面構成をGUI配置しているのが ClientScene05::initializeLogic() 関数になります。
※ ClientScene05::initializeLogic() 関数は ClientScene05::init() (自動初期化)関数から呼び出されます。
■ ClientScene01 へのシーン遷移
バトルサーバ接続完了処理がなされた後、ClientScene05::updateLogic() 関数内で
ClientScene01 クラスへのシーン移譲を行なっています。
※ ClientScene05::updateLogic() 関数は ClientScene05::update() (自動更新)関数から呼び出されます。