ツクロウヤ

Unityによるゲーム開発記やUnity,3dsMaxのTipsなどを記載していきます。

【開発記】進捗報告(5月:4回目)

進捗報告

今週はお休みも取れ、ちょっと余裕もありましたので、元々予定していていた編成画面の処理の実装+デザインの作成を行っていました。

何はともあれ、ペタッと。

f:id:ArtAwA:20200524214523g:plain

ルーム側の編成処理やソートボタンがありますが、その辺りはまだ実装していません。
この後対応しましょ。

とりあえず編成画面と汎用ダイアログでベースとなるデザインも定まってきたので、あとの画面を増やすのはある程度早く出来そう!
ただ、触れるところがちょっと分かりにくいかも・・・?
その辺は追々で・・・

実装していて気づきましたが、表示面でももうちょい改修が必要そう。
ルームのユニットを選択した際はその下のリスト同様にルームのユニットも選択表示(水色)を出した方が良さそうですし、3D表示の方でも何か矢印とか出してあげた方が何を選択しているのか分かりやすそう。

【今回行き当たった問題】

・SceneManager.LoadSceneAsync(), SceneManager.UnloadSceneAsync()で
 同一のシーンに遷移した際に各挙動がおかしくなる

編成が終わった後にステージの最初から開始するようにしていますが、ゲーム開始からシーン遷移してきた際と同様のため、シーンの読み直しをして最初から開始すればよいだろうと思っていました。

しかし、以下のようなことが起こりました。
・何故かUIを管理しているマネージャーからSerializeFieldで設定している各UIの参照がButtonのAddEventの際だけ切れている
 → Inspector上はあって、Updateでチェックをかけても存在している
・生成したはずのプレイヤーユニットがシーン遷移が開けた後、何故か削除されている
 → どこからもDestroyが呼ばれていない

同一シーンを読み替えるのが本当に良くないのか、なぜ起こるのか、そもそも他の作りが良くないは詳しく分かっていませんが、同一のシーンを読み替えるのではなく、以下のような形で1つ挟むようにしたら、一旦は解消しました。

・StartUp:データ、オーディオなど各マネージャーの読み込み
 ↓
・Loading:セーブデータなどを元にステージ、マップ、ユニットの読み込み
  ↓ ↑ 編成終了したら
・Main :ゲーム画面

今後の予定

書いていたようにルーム側の編成処理やソート周りの実装をしていないので対応していきましょ。

・ルーム編成の実装
・ソートの実装

おわりに

久しぶりのお休みでいつもよりは進みましたが、予想外のバグで思ったよりも時間を取られた・・・
引き続き頑張っていきまっしょい。

それでは今回はこの辺で

(´・ω・`*)ノシ