Replay Timeline doesn't draw blue Spectator Keyframes connections anymore

Keyframe Timeline doesn't have the Marker hover texts anymore
This commit is contained in:
CrushedPixel
2015-06-18 12:04:42 +02:00
parent 7f93a119be
commit cd996dcf3b

View File

@@ -116,40 +116,43 @@ public class GuiKeyframeTimeline extends GuiTimeline {
double segmentLength = timelineLength * zoom; double segmentLength = timelineLength * zoom;
//iterate over keyframes to find spectator segments //iterate over keyframes to find spectator segments
ListIterator<Keyframe> iterator = ReplayHandler.getKeyframes().listIterator(); if(placeKeyframes) {
while(iterator.hasNext()) { ListIterator<Keyframe> iterator = ReplayHandler.getKeyframes().listIterator();
Keyframe kf = iterator.next();
if(!(kf instanceof PositionKeyframe) || ((PositionKeyframe)kf).getSpectatedEntityID() == null) continue;
int i = iterator.nextIndex();
int nextSpectatorKeyframeRealTime = -1;
while(iterator.hasNext()) { while(iterator.hasNext()) {
Keyframe kf2 = iterator.next(); Keyframe kf = iterator.next();
if(kf2 instanceof PositionKeyframe) { if(!(kf instanceof PositionKeyframe) || ((PositionKeyframe) kf).getSpectatedEntityID() == null)
if(((PositionKeyframe) kf).getSpectatedEntityID() continue;
.equals(((PositionKeyframe) kf2).getSpectatedEntityID())) {
nextSpectatorKeyframeRealTime = kf2.getRealTimestamp(); int i = iterator.nextIndex();
int nextSpectatorKeyframeRealTime = -1;
while(iterator.hasNext()) {
Keyframe kf2 = iterator.next();
if(kf2 instanceof PositionKeyframe) {
if(((PositionKeyframe) kf).getSpectatedEntityID()
.equals(((PositionKeyframe) kf2).getSpectatedEntityID())) {
nextSpectatorKeyframeRealTime = kf2.getRealTimestamp();
}
break;
} }
break;
} }
}
int i2 = iterator.previousIndex(); int i2 = iterator.previousIndex();
while(i2 >= i) { while(i2 >= i) {
iterator.previous(); iterator.previous();
i2--; i2--;
} }
if(nextSpectatorKeyframeRealTime != -1) { if(nextSpectatorKeyframeRealTime != -1) {
int keyframeX = getKeyframeX(kf.getRealTimestamp(), leftTime, bodyWidth, segmentLength); int keyframeX = getKeyframeX(kf.getRealTimestamp(), leftTime, bodyWidth, segmentLength);
int nextX = getKeyframeX(nextSpectatorKeyframeRealTime, leftTime, bodyWidth, segmentLength); int nextX = getKeyframeX(nextSpectatorKeyframeRealTime, leftTime, bodyWidth, segmentLength);
drawGradientRect(keyframeX + 2, positionY + BORDER_TOP + 1, nextX - 2, positionY + BORDER_TOP + 4, 0xFF0080FF, 0xFF0080FF); drawGradientRect(keyframeX + 2, positionY + BORDER_TOP + 1, nextX - 2, positionY + BORDER_TOP + 4, 0xFF0080FF, 0xFF0080FF);
}
} }
} }
@@ -157,7 +160,7 @@ public class GuiKeyframeTimeline extends GuiTimeline {
//Draw Keyframe logos //Draw Keyframe logos
iterator = ReplayHandler.getKeyframes().listIterator(); ListIterator<Keyframe> iterator = ReplayHandler.getKeyframes().listIterator();
while(iterator.hasNext()) { while(iterator.hasNext()) {
Keyframe kf = iterator.next(); Keyframe kf = iterator.next();
@@ -185,15 +188,16 @@ public class GuiKeyframeTimeline extends GuiTimeline {
long leftTime = Math.round(timeStart * timelineLength); long leftTime = Math.round(timeStart * timelineLength);
double segmentLength = timelineLength * zoom; double segmentLength = timelineLength * zoom;
if(markerKeyframes) {
for(MarkerKeyframe marker : ReplayHandler.getMarkers()) {
int keyframeX = getKeyframeX(marker.getRealTimestamp(), leftTime, bodyWidth, segmentLength);
for(MarkerKeyframe marker : ReplayHandler.getMarkers()) { if(MouseUtils.isMouseWithinBounds(keyframeX - 2, this.positionY + BORDER_TOP + 10 + 1, 5, 5)) {
int keyframeX = getKeyframeX(marker.getRealTimestamp(), leftTime, bodyWidth, segmentLength); Point mouse = MouseUtils.getMousePos();
ReplayMod.tooltipRenderer.drawTooltip(mouse.getX(), mouse.getY(), marker.getName(), null, Color.WHITE);
if(MouseUtils.isMouseWithinBounds(keyframeX - 2, this.positionY + BORDER_TOP + 10 + 1, 5, 5)) { drawn = true;
Point mouse = MouseUtils.getMousePos(); }
ReplayMod.tooltipRenderer.drawTooltip(mouse.getX(), mouse.getY(), marker.getName(), null, Color.WHITE);
drawn = true;
} }
} }