package com.rebelkeithy.ftl.view;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.rebelkeithy.ftl.crew.Crew;
import com.rebelkeithy.ftl.crew.CrewRegistry;
import com.rebelkeithy.ftl.crew.Race;
public class CrewBox
{
private Texture crewSlot;
private Texture crewSlotSelected;
private Texture crewSlotEmpty;
public CrewBox()
{
crewSlot = TextureRegistry.registerSprite("box_crew_on", "upgradeUI/Equipment/box_crew_on");
crewSlotSelected = TextureRegistry.registerSprite("box_crew_selected", "upgradeUI/Equipment/box_crew_selected");
crewSlotEmpty = TextureRegistry.registerSprite("box_crew_off", "upgradeUI/Equipment/box_crew_off");
}
public void render(SpriteBatch batch, Crew crew, int offsetX, int offsetY)
{
if(crew == null)
{
batch.draw(crewSlotEmpty, offsetX, offsetY);
return;
}
int mouseX = Gdx.input.getX();
int mouseY = Gdx.graphics.getHeight() - Gdx.input.getY();
boolean hover = mouseX > offsetX && mouseX < offsetX + 100 && mouseY > offsetY && mouseY < offsetY + 67;
if(hover)
{
batch.draw(new TextureRegion(crewSlotSelected, 0, 45, 100, 22), offsetX, offsetY-19);
batch.draw(crewSlotSelected, offsetX, offsetY);
}
else
{
batch.draw(new TextureRegion(crewSlot, 0, 45, 100, 22), offsetX, offsetY-19);
batch.draw(crewSlot, offsetX, offsetY);
}
Race race = CrewRegistry.getRace(crew.getRace());
Texture texture = TextureRegistry.registerSprite(race.texture, race.texture);
batch.draw(new TextureRegion(texture, 0, 0, 35, 35), offsetX + 16, offsetY + 4, 70, 70);
Color color = Fonts.font8.getColor();
if(mouseX > offsetX && mouseX < offsetX + 100 && mouseY > offsetY + 4 && mouseY < offsetY + 18)
Fonts.font8.setColor(245/256f, 50/256f, 50/256f, 1);
else
Fonts.font8.setColor(Color.WHITE);
int crewNameWidth = (int) Fonts.font8.getBounds(crew.getName()).width;
Fonts.font8.draw(batch, crew.getName(), offsetX + 48 - crewNameWidth/2, offsetY + 15);
Fonts.font8.setColor(color);
}
}