昨日の記事の続きです。
会社でscriptできる人に相談した結果AutoSaveが実行されたときにイベントを発生させるのは難しいんじゃないだろうか
と言う風になりました。
でまぁやりたいこと話したそれはoyaGさんの作ったSaveSceneAsNowPluginをTimerEventで実行するようにすればいいじゃないの?って言われてまさにそのとおりだったわけですよ。
アプローチ的には保存の前に現在のシーンをバックアップへコピー、その後シーンを保存って寸法です。
SaveSceneAsNowPluginではショートカットに割り当てて上書き保存をするとバックアップを取る っていうことを行っています。
なのでそれをTimerEventで一定間隔ごとに行えば自動保存をバックアップしてくれる ということだ。
前回は現在のシーンは保存してないけどAutoSaveしたものは残したい っていうのを考えてたんだけどそんな辺鄙な状況はほぼない。
戻りたいならシーンを探しにいけば良いということで現在の形に落ち着きました。
Script自体は結局Jscriptで書き直しました。
やりたいことは近かったので結構流用は出来たので無駄にならずよかったです。
あと気がつかなかったんですけどAutoSaveって最後に保存押してから で時間計算するんですね。だからそもそもこまめに保存してる場合はバックアップデータが作られないってことに気がつきませんでした。
plAutoSave.Js
プラグインフォルダにぶち込めば動きます。
時間間隔直したい場合は、テキストエディタで開いて。
//基本30分にしてます、ここをms(ミリセカンド)書き換えれば間隔をコントロールできます。
in_reg.RegisterTimerEvent("AutoSaveBackup",1800000,0);
の部分の1800000を書き換えてください。1000で1秒です
例によって使用は自己責任で。