嘘バルズ構築記録#9

間が空いたのでコーディングする前に整理する。

マリガンの一連の処理が終わった後、先攻1ターン目開始時のResultがそれぞれに送られる。
ResultはPerformResult()という関数(コルーチン)で処理をする。
PerformResult()はResult内のLog配列に従って演出処理をする。
すべての演出が完了したら、Result内のBoardの状態とクライアント上の盤面状態を比較し、もし一致しなければクライアントの盤面を強制的にResultのBoardの状態に再構築する。
(演出処理は後回しなのでしばらくは強制再構築で更新する。)
ターンプレイヤーの場合はクライアントをPlayable状態にしてPerformResult()終了。プレイヤーの操作時に「サーバへ送信→Result待ち→PerformResult()」を実行する。
非ターンプレイヤーの場合は、PerformResult()の内部で相手の操作による結果を待ち、Resultが届いたらPreformResult()を新たに呼び出し、これまでのPerformResult()は終了する。(見た目は再帰っぽい)

パーツ制作その2

しばらく休んでいたのでリハビリも兼ねたパーツ制作。
左下と右上に表示されている「リーダー情報表示」を組み立てる。
アニメーション演出を考えるならいろいろ考慮しないといけないけど、とりあえず表示するだけならGodot標準のUI要素を適当に組み合わせて、カードと同じくSubViewport経由で板ポリに張り付けるだけ。

HPバーはProgressBarを使って楽してる。
テンションゲージはColorRectをそれっぽく並べるだけの手抜き。

対戦シーン上でエディタから数値を弄って変化させている。

次回

クライアント側がそこそこ形になってきたので、テスト用のサーバ処理を作ってテストしたい。

この記事が気に入ったらサポートをしてみませんか?