Elin のmodのバグを直していた。特定条件でアイテムがロストするというやばいやつ。
なんかアイテム消えることがある気がしていたのだけど、再現方法がよくわからないし、行儀よく使っていると起きないので行儀よく使うという運用回避をしてしまっていた。報告が来たのでちゃんと直した。
アイテムをソートするmodで、ソートのためにUI上のコンテナからただの配列にアイテムを一旦移し、ソートして、再度UI上のコンテナにアイテムを書き戻すという処理をしている。ここで配列にアイテムが移ってからエラーが起きるとゲーム内からはアイテムがすべて消えてしまうという問題だった。 RDBMSのトランザクションみたいにエラーが起きたらいい感じにロールバックさせたい気持ちになっている。 でもメモリ上のデータをロールバックさせるの、大変そうだよなあ。