The Position Keyframe Button now turns into a Spectator Keyframe Button when Spectator Keyframe is selected or no Position Keyframe Selected and spectating an Entity
This commit is contained in:
@@ -21,8 +21,8 @@ public class GuiKeyframeTimeline extends GuiTimeline {
|
||||
private static final int KEYFRAME_TIME_Y = 25;
|
||||
private static final int KEYFRAME_SPEC_X = 74;
|
||||
private static final int KEYFRAME_SPEC_Y = 30;
|
||||
private static final int KEYFRAME_MARKER_X = 40;
|
||||
private static final int KEYFRAME_MARKER_Y = 39;
|
||||
private static final int KEYFRAME_MARKER_X = 109;
|
||||
private static final int KEYFRAME_MARKER_Y = 20;
|
||||
|
||||
private Keyframe clickedKeyFrame;
|
||||
private long clickTime;
|
||||
|
||||
@@ -154,9 +154,44 @@ public class GuiReplayOverlay extends Gui {
|
||||
}
|
||||
}, "replaymod.gui.ingame.menu.removeposkeyframe");
|
||||
|
||||
private final GuiElement buttonSpectatorNotSelected = texturedButton(BUTTON_PLACE_X, BOTTOM_ROW, 40, 40, 20, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Entity cam = mc.getRenderViewEntity();
|
||||
if (cam != null) {
|
||||
Position position = new Position(cam.posX, cam.posY, cam.posZ, cam.rotationPitch,
|
||||
cam.rotationYaw % 360, ReplayHandler.getCameraTilt());
|
||||
|
||||
if (ReplayHandler.isCamera())
|
||||
ReplayHandler.addKeyframe(new PositionKeyframe(ReplayHandler.getRealTimelineCursor(), position));
|
||||
else
|
||||
ReplayHandler.addKeyframe(new PositionKeyframe(ReplayHandler.getRealTimelineCursor(), cam.getEntityId()));
|
||||
}
|
||||
}
|
||||
}, "replaymod.gui.ingame.menu.addspeckeyframe");
|
||||
|
||||
private final GuiElement buttonSpectatorSelected = texturedButton(BUTTON_PLACE_X, BOTTOM_ROW, 40, 60, 20, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ReplayHandler.removeKeyframe(ReplayHandler.getSelectedKeyframe());
|
||||
}
|
||||
}, "replaymod.gui.ingame.menu.removespeckeyframe");
|
||||
|
||||
@Override
|
||||
public GuiElement delegate() {
|
||||
return ReplayHandler.getSelectedKeyframe() instanceof PositionKeyframe ? buttonSelected : buttonNotSelected;
|
||||
boolean selected = ReplayHandler.getSelectedKeyframe() instanceof PositionKeyframe;
|
||||
boolean camera = true;
|
||||
if(selected) {
|
||||
camera = ((PositionKeyframe)ReplayHandler.getSelectedKeyframe()).getSpectatedEntityID() == null;
|
||||
} else {
|
||||
camera = ReplayHandler.isCamera();
|
||||
}
|
||||
|
||||
if(camera) {
|
||||
return selected ? buttonSelected : buttonNotSelected;
|
||||
} else {
|
||||
return selected ? buttonSpectatorSelected : buttonSpectatorNotSelected;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -298,6 +298,8 @@ replaymod.gui.rendering.timeleft=Time Left
|
||||
#Ingame Menu
|
||||
replaymod.gui.ingame.menu.addposkeyframe=Add Position Keyframe
|
||||
replaymod.gui.ingame.menu.removeposkeyframe=Remove Position Keyframe
|
||||
replaymod.gui.ingame.menu.addspeckeyframe=Add Spectator Keyframe
|
||||
replaymod.gui.ingame.menu.removespeckeyframe=Remove Spectator Keyframe
|
||||
replaymod.gui.ingame.menu.addtimekeyframe=Add Time Keyframe
|
||||
replaymod.gui.ingame.menu.removetimekeyframe=Remove Time Keyframe
|
||||
replaymod.gui.ingame.menu.pause=Pause Replay
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Reference in New Issue
Block a user