use of eidolons.libgdx.bf.mouse.BattleClickListener in project Eidolons by IDemiurge.
the class GridPanel method init.
public GridPanel init(DequeImpl<BattleFieldObject> units) {
this.viewMap = new HashMap<>();
emptyImage = TextureCache.getOrCreateR(getCellImagePath());
cornerRegion = TextureCache.getOrCreateR(gridCornerElementPath);
cells = new GridCellContainer[cols][rows];
int rows1 = rows - 1;
for (int x = 0; x < cols; x++) {
for (int y = 0; y < rows; y++) {
cells[x][y] = new GridCellContainer(emptyImage, x, rows1 - y);
cells[x][y].setX(x * GridMaster.CELL_W);
cells[x][y].setY(y * GridMaster.CELL_H);
addActor(cells[x][y].init());
checkAddBorder(x, y);
}
}
if (OptionsMaster.getGraphicsOptions().getBooleanValue(GRAPHIC_OPTION.SPRITE_CACHE_ON))
TextureManager.addCellsToCache(cols, rows);
addActor(new CellBorderManager());
bindEvents();
createUnitsViews(units);
setHeight(cells[0][0].getHeight() * rows);
setWidth(cells[0][0].getWidth() * cols);
addListener(new BattleClickListener() {
@Override
public boolean mouseMoved(InputEvent event, float x, float y) {
GridPanel.this.getStage().setScrollFocus(GridPanel.this);
return false;
}
@Override
public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
// return PhaseAnimator.getInstance().checkAnimClicked(x, y, pointer, button);
return false;
}
});
addActor(overlayManager = new OverlaysManager(this));
addActor(animMaster = AnimMaster.getInstance());
animMaster.bindEvents();
if (AnimationConstructor.isPreconstructAllOnGameInit())
units.forEach(unit -> {
if (unit instanceof Unit)
animMaster.getConstructor().preconstructAll((Unit) unit);
});
if (fpsDebug) {
fpsLabel = new Label("0", StyleHolder.getDefaultLabelStyle());
addActor(fpsLabel);
fpsLabel.setAlignment(Align.topLeft);
}
return this;
}
use of eidolons.libgdx.bf.mouse.BattleClickListener in project Eidolons by IDemiurge.
the class UnitViewFactory method createListener.
public static ClickListener createListener(BattleFieldObject bfObj) {
return new BattleClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
// event.getButton() == Input.Buttons.RIGHT;
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
if (IntroTestLauncher.running) {
ScenarioMetaMaster m = new ScenarioMetaMaster("Pride and Treachery");
// new LinearDialogue();
GameDialogue dialogue = null;
dialogue = bfObj.getGame().getMetaMaster().getDialogueFactory().getDialogue("Interrogation");
List<DialogScenario> list = SceneFactory.getScenes(dialogue);
GuiEventManager.trigger(GuiEventType.DIALOG_SHOW, list);
}
if (event.getButton() == Input.Buttons.RIGHT) {
GuiEventManager.trigger(CREATE_RADIAL_MENU, bfObj);
event.handle();
event.stop();
} else {
if (event.getButton() == Buttons.LEFT)
if (isAlt() || isShift() || isControl())
try {
DefaultActionHandler.leftClickUnit(isShift(), isControl(), bfObj);
} catch (Exception e) {
main.system.ExceptionMaster.printStackTrace(e);
}
GuiEventManager.trigger(RADIAL_MENU_CLOSE);
}
}
};
}
use of eidolons.libgdx.bf.mouse.BattleClickListener in project Eidolons by IDemiurge.
the class BaseView method init.
public void init(TextureRegion portraitTexture, String path) {
portrait = initPortrait(portraitTexture, path);
addActor(portrait);
addListener(new BattleClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
if (button == Input.Buttons.LEFT) {
event.handle();
if (isAlt())
try {
if (DefaultActionHandler.leftClickActor(event, getX(), getY()))
return;
} catch (Exception e) {
main.system.ExceptionMaster.printStackTrace(e);
}
GuiEventManager.trigger(CALL_BLUE_BORDER_ACTION, BaseView.this);
}
}
});
}
use of eidolons.libgdx.bf.mouse.BattleClickListener in project Eidolons by IDemiurge.
the class GridCell method init.
public GridCell init() {
backImage = new Image(backTexture);
backImage.setFillParent(true);
addActor(backImage);
setSize(GridMaster.CELL_W, GridMaster.CELL_H);
cordsText = new Label(getGridX() + ":" + getGridY(), StyleHolder.getAVQLabelStyle());
cordsText.setPosition(getWidth() / 2 - cordsText.getWidth() / 2, getHeight() / 2 - cordsText.getHeight() / 2);
cordsText.setVisible(false);
addActor(cordsText);
addListener(new BattleClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
DC_Obj dc_cell = Eidolons.gameMaster.getCellByCoordinate(new Coordinates(getGridX(), getGridY()));
if (button == Input.Buttons.RIGHT && !event.isHandled()) {
event.handle();
GuiEventManager.trigger(CREATE_RADIAL_MENU, dc_cell);
}
if (button == Input.Buttons.LEFT) {
event.handle();
if (isEmpty())
if (isAlt() || isShift() || isControl())
try {
if (DefaultActionHandler.leftClickCell(isShift(), isControl(), getGridX(), getGridY()))
return;
} catch (Exception e) {
main.system.ExceptionMaster.printStackTrace(e);
}
GuiEventManager.trigger(CALL_BLUE_BORDER_ACTION, GridCell.this);
GuiEventManager.trigger(RADIAL_MENU_CLOSE);
}
}
});
return this;
}
Aggregations