Created CustomObjectRepository which can be serialized by Gson, storing all CustomImageObjects created

CustomObjectRepository is now being saved to and loaded from the ReplayFile
The CustomObjectRenderer uses the GuiObjectManager's timeline cursor position as interpolation timestamp for the CustomImageObjects which are drawn if a GuiObjectManager is open (instant preview)
KeyframeList's add() method now removes Keyframes with the same timestamp before adding the new Keyframe
Transformations class now holds default values to prevent NullPointerExceptions in methods calling getTransformationForTimestamp()
Added Javadoc to Transformation POJO
Created NumberValueChangeListener which can be applied to GuiNumberInput objects
Made step size customizable in GuiDraggingNumberInput
Changing a ReplayImageAssets image now notifies the CustomImageObjects linked to that asset
Modified RoundUtils to provide a round() method which uses the DecimalFormat class instead of Math.round which is unstable
This commit is contained in:
CrushedPixel
2015-07-12 16:21:11 +02:00
parent 6a6873c3d7
commit 45f64faa77
17 changed files with 393 additions and 65 deletions

View File

@@ -2,6 +2,7 @@ package eu.crushedpixel.replaymod.utils;
import com.google.gson.Gson;
import eu.crushedpixel.replaymod.ReplayMod;
import eu.crushedpixel.replaymod.assets.CustomObjectRepository;
import eu.crushedpixel.replaymod.holders.KeyframeSet;
import eu.crushedpixel.replaymod.holders.MarkerKeyframe;
import eu.crushedpixel.replaymod.holders.PacketData;
@@ -169,6 +170,10 @@ public class ReplayFileIO {
write((Object) markers, file);
}
public static void write(CustomObjectRepository repository, File file) throws IOException {
write((Object) repository, file);
}
/**
* Adds Files as entries to a ZIP File.
* @param zipFile The ZIP File to add the files to.