package com.gebauz.bauzoid.menu;
import com.gebauz.bauzoid.game.Game;
import com.gebauz.bauzoid.graphics.sprite.SimpleSprite;
import com.gebauz.bauzoid.graphics.sprite.SpriteInstance;
import com.gebauz.bauzoid.parser.ScanException;
import com.gebauz.bauzoid.parser.Tokenizer;
public class Image extends ImageBase
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Fields===========================================================================================
private SimpleSprite mImage =
null;
// Methods==========================================================================================
public Image(Game game,
Menu parent,
String name
)
{
super(game, parent, name
);
}
@
Override
public void init
()
{
//mImage = new Sprite(getGame().getGraphics(), new Texture(Gdx.files.internal(getTextureName())));
mImage =
new SimpleSprite
(getGame
().
getGraphics(), getTextureName
());
setSpriteProperties
(mImage.
getSpriteInstance(),
this);
mImage.
getSprite().
getTexture().
setFilter(getMinFilter
(), getMagFilter
());
//getGraphics().renderStates.getTextureStage(0).setTextureFilter(mImage.getTexture(), getMinFilter(), getMagFilter());
}
@
Override
public void exit
()
{
if (mImage
!=
null)
{
mImage.
dispose();
mImage =
null;
}
}
@
Override
public void update
(float deltaTime
)
{
if (mImage
!=
null)
{
//mImage.update(deltaTime);
setSpriteProperties
(mImage.
getSpriteInstance(),
this);
}
}
@
Override
public void render
()
{
if (mImage
!=
null)
{
mImage.
render();
}
}
@
Override
public boolean parseLine
(String identifier, Tokenizer tokenizer
) throws ScanException
{
/* if (identifier.equalsIgnoreCase("texture"))
{
String filename = tokenizer.readString();
mImage = new Sprite(getGame().getGraphics(), new Texture(Gdx.files.internal(filename)));
tokenizer.readToken(";");
}
else*/
{
return super.
parseLine(identifier, tokenizer
);
}
}
public static void setSpriteProperties
(SpriteInstance image,
MenuItem menuItem
)
{
image.
transform.
x = menuItem.
getPositionX();
image.
transform.
y = menuItem.
getPositionY();
image.
transform.
w = menuItem.
getWidth();
image.
transform.
h = menuItem.
getHeight();
//image.alpha = menuItem.getColor().w;
image.
color = menuItem.
getColor();
HorizontalAlign horiz = menuItem.
getHorizontalAlignment();
if (horiz == HorizontalAlign.
RIGHT)
image.
transform.
pivotX = image.
transform.
w;
else if (horiz == HorizontalAlign.
CENTER)
image.
transform.
pivotX = image.
transform.
w/
2;
else if (horiz == HorizontalAlign.
LEFT)
image.
transform.
pivotX =
0;
VerticalAlign vert = menuItem.
getVerticalAlignment();
if (vert == VerticalAlign.
BOTTOM)
image.
transform.
pivotY = image.
transform.
h;
else if (vert == VerticalAlign.
CENTER)
image.
transform.
pivotY = image.
transform.
h /
2;
else if (vert == VerticalAlign.
TOP)
image.
transform.
pivotY =
0;
}
// Getters/Setters==================================================================================
}