kuriuminoki / DuplicationHeart

複製のHeart
0 stars 0 forks source link

resetWorld時のバグ修正 #209

Closed kuriuminoki closed 2 months ago

kuriuminoki commented 2 months ago

概要

世界がループしたとき、シエスタが2人になってしまうバグが発覚。

原因:

やったこと

ループ直前に行われたエリア移動イベントで、ハートに追従して移動するシエスタ を削除する。

具体的には、ループ後のWorldにstory.csvが反映される前にworldのキャラをハート以外リセットする。

流れとしては

  1. MoveAreaEvent開始
  2. 画面が暗転し、World::m_areaNumが変わるまでEvent継続
  3. Gameクラスがエリア移動を察知しエリア1のWorldを作り直す
  4. MoveAreaEventが終了し、m_story->play()がtrue時の処理が開始
  5. 新しいStoryクラスが作成される(story.csvの読み込み)
  6. ループ時の処理(resetWorld)が実行される
  7. ここで、worldインスタンスからキャラを削除
  8. reset後のGameDataをworldにasign
  9. story.csvをGameDataに反映
  10. GameDataをWorldに反映
  11. story.play()の実行ループに戻る

やらないこと

記入欄

できるようになること(ユーザ目線)

記入欄

できなくなること(ユーザ目線)

記入欄

動作確認

懸念点

記入欄