package net.geforcemods.securitycraft.imc.lookingglass;
import com.xcompwiz.lookingglass.api.animator.ICameraAnimator;
import com.xcompwiz.lookingglass.api.view.IViewCamera;
import net.geforcemods.securitycraft.main.mod_SecurityCraft;
import net.geforcemods.securitycraft.tileentity.TileEntitySecurityCamera;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ChunkCoordinates;
/**
* The IWorldView animator for the security cameras. <p>
*
* Sets the location of the camera, and rotates the view.
*
* @author Geforce
*/
public class CameraAnimatorSecurityCamera implements ICameraAnimator {
private final double cameraYOffset = 2.425D;
private IViewCamera camera;
private int cameraMeta = 0;
private int xCoord, yCoord, zCoord;
public CameraAnimatorSecurityCamera(IViewCamera camera, int xCoord, int yCoord, int zCoord, int securityCameraMeta){
this.camera = camera;
this.cameraMeta = securityCameraMeta;
this.xCoord = xCoord;
this.yCoord = yCoord;
this.zCoord = zCoord;
if(securityCameraMeta == 1){
this.camera.setLocation(camera.getX() + 0.5D, camera.getY() - cameraYOffset, camera.getZ() + 0.5D);
}else if(securityCameraMeta == 2){
this.camera.setLocation(camera.getX() + 0.5D, camera.getY() - cameraYOffset, camera.getZ() + 0.5D);
}else if(securityCameraMeta == 3){
this.camera.setLocation(camera.getX() + 0.5D, camera.getY() - cameraYOffset, camera.getZ() + 0.5D);
}else if(securityCameraMeta == 4){
this.camera.setLocation(camera.getX() + 0.5D, camera.getY() - cameraYOffset, camera.getZ() + 0.5D);
}
if(securityCameraMeta == 1){
this.camera.setYaw(180F);
}else if(securityCameraMeta == 2){
this.camera.setYaw(90F);
}else if(securityCameraMeta == 3){
this.camera.setYaw(0F);
}else if(securityCameraMeta == 4){
this.camera.setYaw(270F);
}
}
public void setTarget(ChunkCoordinates target){}
public void refresh(){}
public void update(long arg0) {
if(camera == null || cameraMeta == 0){ return; }
if(Minecraft.getMinecraft().theWorld.getBlock(xCoord, yCoord, zCoord) != mod_SecurityCraft.securityCamera){ return; }
float cameraRotation = ((TileEntitySecurityCamera) Minecraft.getMinecraft().theWorld.getTileEntity(xCoord, yCoord, zCoord)).cameraRotation * 60;
if(cameraMeta == 4){
this.camera.setYaw(180 + cameraRotation);
}else if(cameraMeta == 2){
this.camera.setYaw(90 + cameraRotation);
}else if(cameraMeta == 3){
this.camera.setYaw(0 + cameraRotation);
}else if(cameraMeta == 1){
this.camera.setYaw(270 + cameraRotation);
}
}
}