Skip to content

Commit

Permalink
[PlaybackSerialiser] Trying to figure out how to store PlaybackFileCo…
Browse files Browse the repository at this point in the history
…mmands
  • Loading branch information
ScribbleTAS committed Jun 7, 2024
1 parent d11b157 commit 7e90b2e
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,12 @@ public String[] controlByteNames() {

public void onPlayback(long tick, TickContainer container) {};

public String onSerialiseSingleComment(long tick, String line) {
return line;
public PlaybackFileCommand onSerialiseInlineComment(long tick, TickContainer container) {
return null;
}

public PlaybackFileCommand onSerialiseEndlineComment(long currentTick, TickContainer container) {
return null;
}

public void onDeserialiseSingleComment(long tick, String line) {}
Expand All @@ -52,6 +56,7 @@ public void setEnabled(boolean enabled) {
onDisable();
this.enabled = enabled;
}

}
}

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Queue;
Expand All @@ -13,6 +14,7 @@
import com.dselent.bigarraylist.BigArrayList;
import com.minecrafttas.tasmod.playback.PlaybackControllerClient.CommentContainer;
import com.minecrafttas.tasmod.playback.PlaybackControllerClient.TickContainer;
import com.minecrafttas.tasmod.playback.filecommands.PlaybackFileCommand;
import com.minecrafttas.tasmod.playback.filecommands.PlaybackFileCommand.PlaybackFileCommandExtension;
import com.minecrafttas.tasmod.playback.metadata.PlaybackMetadata;
import com.minecrafttas.tasmod.playback.tasfile.exception.PlaybackLoadException;
Expand Down Expand Up @@ -112,17 +114,45 @@ public BigArrayList<String> serialise(BigArrayList<TickContainer> inputs, List<P
return out;
}

protected void serialiseContainer(BigArrayList<String> out, TickContainer container, List<PlaybackFileCommandExtension> filecommandextensionList) {
protected void serialiseContainer(BigArrayList<String> out, TickContainer container, List<PlaybackFileCommandExtension> filecommandExtensionList) {
List<String> serialisedKeyboard = serialiseKeyboard(container.getKeyboard());
List<String> serialisedMouse = serialiseMouse(container.getMouse());
List<String> serialisedCameraAngle = serialiseCameraAngle(container.getCameraAngle());
List<String> serialisedInlineCommments = serialiseInlineComments(container.getComments(), filecommandextensionList);
List<String> serialisedEndlineComments = serialiseEndlineComments(container.getComments(), filecommandextensionList);

List<String> serialisedInlineCommments = serialiseInlineComments(container.getComments());
List<String> serialisedEndlineComments = serialiseEndlineComments(container.getComments());
List<PlaybackFileCommand> fileCommandsInline = serialiseFileCommandsInline(container, filecommandExtensionList);
List<PlaybackFileCommand> fileCommandsEndline = serialiseFileCommandsEndline(container, filecommandExtensionList);

for (int i = 0; i < fileCommandsInline.size(); i++) {

}

addAll(out, serialisedInlineCommments);

mergeInputs(out, serialisedKeyboard, serialisedMouse, serialisedCameraAngle, serialisedEndlineComments);
}

protected List<PlaybackFileCommand> serialiseFileCommandsInline(TickContainer container, List<PlaybackFileCommandExtension> filecommandExtensionList) {
List<PlaybackFileCommand> fileCommands = new ArrayList<>();
for (PlaybackFileCommandExtension playbackFileCommandExtension : filecommandExtensionList) {
PlaybackFileCommand command = playbackFileCommandExtension.onSerialiseInlineComment(currentTick, container);
if (command != null) {
fileCommands.add(command);
}
}
return fileCommands;
}

protected List<PlaybackFileCommand> serialiseFileCommandsEndline(TickContainer container, List<PlaybackFileCommandExtension> filecommandExtensionList){
List<PlaybackFileCommand> fileCommands = new ArrayList<>();
for (PlaybackFileCommandExtension playbackFileCommandExtension : filecommandExtensionList) {
PlaybackFileCommand command = playbackFileCommandExtension.onSerialiseEndlineComment(currentTick, container);
if (command != null) {
fileCommands.add(command);
}
}
return fileCommands;
}

protected List<String> serialiseKeyboard(VirtualKeyboard keyboard) {
List<String> out = new ArrayList<>();
Expand All @@ -149,7 +179,7 @@ protected List<String> serialiseCameraAngle(VirtualCameraAngle cameraAngle) {
return out;
}

protected List<String> serialiseInlineComments(CommentContainer container, List<PlaybackFileCommandExtension> filecommandextensionList) {
protected List<String> serialiseInlineComments(CommentContainer container) {
List<String> out = new ArrayList<>();
if (container == null) {
return out;
Expand All @@ -162,17 +192,8 @@ protected List<String> serialiseInlineComments(CommentContainer container, List<
return out;
}

protected List<String> serialiseEndlineComments(CommentContainer container, List<PlaybackFileCommandExtension> filecommandextensionList) {
List<String> out = new ArrayList<>();
if (container == null) {
return out;
}
for (String comment : container.getInlineComments()) {
if (comment != null) {
out.add("// " + comment);
}
}
return out;
protected List<String> serialiseEndlineComments(CommentContainer container) {
return serialiseInlineComments(container);
}

protected void mergeInputs(BigArrayList<String> out, List<String> serialisedKeyboard, List<String> serialisedMouse, List<String> serialisedCameraAngle, List<String> serialisedEndlineComments) {
Expand Down

0 comments on commit 7e90b2e

Please sign in to comment.