package mods.eln.sixnode.diode; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.node.NodeBase; import mods.eln.node.six.SixNodeDescriptor; import mods.eln.node.six.SixNodeElementRender; import mods.eln.node.six.SixNodeEntity; import java.io.DataInputStream; import java.io.IOException; public class DiodeRender extends SixNodeElementRender { private DiodeDescriptor descriptor; double voltageAnode = 0, voltageCatode = 0, current = 0, temperature = 0; LRDU front; public DiodeRender(SixNodeEntity tileEntity, Direction side, SixNodeDescriptor descriptor) { super(tileEntity, side, descriptor); this.descriptor = (DiodeDescriptor) descriptor; } @Override public void draw() { front.glRotateOnX(); descriptor.draw(); } @Override public void publishUnserialize(DataInputStream stream) { super.publishUnserialize(stream); try { Byte b; b = stream.readByte(); front = LRDU.fromInt((b >> 4) & 3); voltageAnode = stream.readShort() / NodeBase.networkSerializeUFactor; voltageCatode = stream.readShort() / NodeBase.networkSerializeUFactor; current = stream.readShort() / NodeBase.networkSerializeIFactor; temperature = stream.readShort() / NodeBase.networkSerializeTFactor; } catch (IOException e) { e.printStackTrace(); } } }