Added dirty check before rewriting Keyframe Repository
This commit is contained in:
@@ -18,6 +18,7 @@ import org.lwjgl.input.Keyboard;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class GuiKeyframeRepository extends GuiScreen implements GuiReplayOverlay.NoOverlay {
|
public class GuiKeyframeRepository extends GuiScreen implements GuiReplayOverlay.NoOverlay {
|
||||||
|
|
||||||
@@ -221,10 +222,20 @@ public class GuiKeyframeRepository extends GuiScreen implements GuiReplayOverlay
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void saveOnQuit() {
|
private void saveOnQuit() {
|
||||||
|
if(isDirty()) {
|
||||||
ArrayList<KeyframeSet> copy = new ArrayList<KeyframeSet>(keyframeSetList.getCopyOfElements());
|
ArrayList<KeyframeSet> copy = new ArrayList<KeyframeSet>(keyframeSetList.getCopyOfElements());
|
||||||
this.keyframeRepository = copy.toArray(new KeyframeSet[copy.size()]);
|
this.keyframeRepository = copy.toArray(new KeyframeSet[copy.size()]);
|
||||||
ReplayHandler.setKeyframeRepository(keyframeRepository, true);
|
ReplayHandler.setKeyframeRepository(keyframeRepository, true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isDirty() {
|
||||||
|
KeyframeSet[] repo = ReplayHandler.getKeyframeRepository();
|
||||||
|
KeyframeSet[] newRepo = keyframeSetList.getCopyOfElements().
|
||||||
|
toArray(new KeyframeSet[keyframeSetList.getCopyOfElements().size()]);
|
||||||
|
|
||||||
|
return Arrays.equals(repo, newRepo);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuiClosed() {
|
public void onGuiClosed() {
|
||||||
|
|||||||
Reference in New Issue
Block a user