package mods.eln.sixnode.electricalwatch;
import mods.eln.misc.Direction;
import mods.eln.node.six.SixNodeDescriptor;
import mods.eln.node.six.SixNodeElementInventory;
import mods.eln.node.six.SixNodeElementRender;
import mods.eln.node.six.SixNodeEntity;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import java.io.DataInputStream;
import java.io.IOException;
public class ElectricalWatchRender extends SixNodeElementRender {
ElectricalWatchDescriptor descriptor;
boolean upToDate = false;
long oldDate = 1379;
SixNodeElementInventory inventory = new SixNodeElementInventory(1, 64, this);
public ElectricalWatchRender(SixNodeEntity tileEntity, Direction side, SixNodeDescriptor descriptor) {
super(tileEntity, side, descriptor);
this.descriptor = (ElectricalWatchDescriptor) descriptor;
}
@Override
public void draw() {
super.draw();
long time;
if (upToDate)
time = tileEntity.getWorldObj().getWorldTime();
else
time = oldDate;
time += 6000;
time %= 24000;
front.glRotateOnX();
descriptor.draw(time / 12000f, (time % 1000) / 1000f, upToDate);
}
@Override
public void publishUnserialize(DataInputStream stream) {
super.publishUnserialize(stream);
try {
upToDate = stream.readBoolean();
oldDate = stream.readLong();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public GuiScreen newGuiDraw(Direction side, EntityPlayer player) {
return new ElectricalWatchGui(player, inventory, this);
}
}