Blame |
Last modification |
View Log
| RSS feed
package com.gebauz.bauzoid.menu;
import com.gebauz.bauzoid.game.Game;
import com.gebauz.bauzoid.math.Rect;
import com.gebauz.bauzoid.parser.ScanException;
import com.gebauz.bauzoid.parser.Tokenizer;
public class Frame extends ImageBase
{
// Constants========================================================================================
// Embedded=========================================================================================
// Fields===========================================================================================
private boolean mShowCenter =
false;
private boolean mIsOuterFrame =
false;
private Rect mInnerOffset =
null;
private FrameElement mFrame =
null;
// Methods==========================================================================================
public Frame(Game game,
Menu parent,
String name
)
{
super(game, parent, name
);
}
@
Override
public void init
()
{
mFrame =
new FrameElement
(getParent
().
getGame());
if (mIsOuterFrame
)
{
if (mInnerOffset ==
null)
{
mFrame.
setInnerOffset(new Rect
(FrameElement.
LEFT_OFFSET_, FrameElement.
TOP_OFFSET_,
FrameElement.
RIGHT_OFFSET_, FrameElement.
BOTTOM_OFFSET_));
}
else
{
mFrame.
setInnerOffset(mInnerOffset
);
}
}
else
{
mFrame.
setInnerOffset(new Rect
(FrameElement.
CELL_SIZE, FrameElement.
CELL_SIZE, FrameElement.
CELL_SIZE, FrameElement.
CELL_SIZE));
}
//mFrame.init(new Texture(Gdx.files.internal(getTextureName())), mShowCenter);
mFrame.
init(getTextureName
(), mShowCenter
);
setFrameProperties
(mFrame,
this);
}
@
Override
public void exit
()
{
if (mFrame
!=
null)
{
mFrame.
exit();
mFrame =
null;
}
}
@
Override
public void update
(float deltaTime
)
{
setFrameProperties
(mFrame,
this);
mFrame.
update(deltaTime
);
}
@
Override
public void render
()
{
mFrame.
render();
}
@
Override
public boolean parseLine
(String identifier, Tokenizer tokenizer
)
throws ScanException
{
if (identifier.
equalsIgnoreCase("showCenter"))
{
mShowCenter = MenuUtil.
parseBool(tokenizer
);
}
else if (identifier.
equalsIgnoreCase("outerFrame"))
{
mIsOuterFrame = MenuUtil.
parseBool(tokenizer
);
}
else if (identifier.
equalsIgnoreCase("innerOffset"))
{
mInnerOffset =
new Rect
(MenuUtil.
parseVector4(tokenizer
));
}
else
{
return super.
parseLine(identifier, tokenizer
);
}
return true;
}
public static void setFrameProperties
(FrameElement frame,
MenuItem item
)
{
frame.
x = item.
getLeft();
frame.
y = item.
getTop();
frame.
w = item.
getWidth();
frame.
h = item.
getHeight();
//frame.alpha = item.getColor().w;
frame.
color = item.
getColor();
}
// Getters/Setters==================================================================================
}