Search in sources :

Example 86 with InputEvent

use of com.badlogic.gdx.scenes.scene2d.InputEvent in project Eidolons by IDemiurge.

the class NewGamePanel method updateAct.

@Override
public void updateAct(float delta) {
    final List<ScreenData> dataList = (List<ScreenData>) getUserObject();
    dataList.forEach(data -> {
        TextButton button = getMainMenuButton(data.getName());
        button.addListener(new ClickListener() {

            @Override
            public void clicked(InputEvent event, float x, float y) {
                if (choiceCallback != null) {
                    choiceCallback.accept(data);
                }
            }
        });
        add(button);
        row();
    });
    addEmptyRow(0, 30);
    back = getMainMenuButton("back");
    if (backListener != null) {
        back.addListener(backListener);
    }
    add(back);
}
Also used : TextButton(com.badlogic.gdx.scenes.scene2d.ui.TextButton) List(java.util.List) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) ClickListener(com.badlogic.gdx.scenes.scene2d.utils.ClickListener) SimpleClickListener(eidolons.libgdx.gui.SimpleClickListener) ScreenData(eidolons.libgdx.screens.ScreenData)

Example 87 with InputEvent

use of com.badlogic.gdx.scenes.scene2d.InputEvent 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;
}
Also used : StrPathBuilder(main.system.auxiliary.StrPathBuilder) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) LastSeenMaster(eidolons.game.battlecraft.logic.battlefield.vision.LastSeenMaster) GuiEventType(main.system.GuiEventType) MapMaster(main.system.auxiliary.data.MapMaster) Entrance(eidolons.game.module.dungeoncrawl.dungeon.Entrance) Label(com.badlogic.gdx.scenes.scene2d.ui.Label) DungeonScreen(eidolons.libgdx.screens.DungeonScreen) Ref(main.entity.Ref) Pair(org.apache.commons.lang3.tuple.Pair) Vector2(com.badlogic.gdx.math.Vector2) GdxMaster(eidolons.libgdx.GdxMaster) TextureRegion(com.badlogic.gdx.graphics.g2d.TextureRegion) OptionsMaster(eidolons.system.options.OptionsMaster) Image(com.badlogic.gdx.scenes.scene2d.ui.Image) HpBar(eidolons.libgdx.bf.overlays.HpBar) OUTLINE_TYPE(main.content.enums.rules.VisionEnums.OUTLINE_TYPE) MoveAnimation(eidolons.libgdx.anims.std.MoveAnimation) TextureManager(eidolons.libgdx.texture.TextureManager) DC_Obj(eidolons.entity.obj.DC_Obj) ActorMaster(eidolons.libgdx.anims.ActorMaster) Event(main.game.logic.event.Event) FadeOutAction(eidolons.libgdx.anims.actions.FadeOutAction) Align(com.badlogic.gdx.utils.Align) DC_Game(eidolons.game.core.game.DC_Game) BattleFieldObject(eidolons.entity.obj.BattleFieldObject) ShadowMap(eidolons.libgdx.bf.light.ShadowMap) HelpMaster(eidolons.system.text.HelpMaster) List(java.util.List) OutlineMaster(eidolons.game.battlecraft.logic.battlefield.vision.OutlineMaster) Keys(com.badlogic.gdx.Input.Keys) Coordinates(main.game.bf.Coordinates) WallMap(eidolons.libgdx.bf.overlays.WallMap) STANDARD_EVENT_TYPE(main.game.logic.event.Event.STANDARD_EVENT_TYPE) java.util(java.util) DequeImpl(main.system.datatypes.DequeImpl) DeathAnim(eidolons.libgdx.anims.std.DeathAnim) BattleClickListener(eidolons.libgdx.bf.mouse.BattleClickListener) AnimMaster(eidolons.libgdx.anims.AnimMaster) EVENT_TYPE(main.game.logic.event.Event.EVENT_TYPE) Gdx(com.badlogic.gdx.Gdx) Batch(com.badlogic.gdx.graphics.g2d.Batch) WaitMaster(main.system.threading.WaitMaster) GuiEventManager(main.system.GuiEventManager) StringMaster(main.system.auxiliary.StringMaster) DC_Engine(eidolons.game.battlecraft.DC_Engine) OverlaysManager(eidolons.libgdx.bf.overlays.OverlaysManager) PanelActionsDataSource(eidolons.libgdx.gui.panels.dc.actionpanel.datasource.PanelActionsDataSource) GRAPHIC_OPTION(eidolons.system.options.GraphicsOptions.GRAPHIC_OPTION) VisionManager(eidolons.game.battlecraft.logic.battlefield.vision.VisionManager) LogMaster(main.system.auxiliary.log.LogMaster) EventCallback(main.system.EventCallback) KEYS(main.entity.Ref.KEYS) AnimationConstructor(eidolons.libgdx.anims.AnimationConstructor) FloatingTextMaster(eidolons.libgdx.anims.text.FloatingTextMaster) ResourceSourceImpl(eidolons.libgdx.gui.panels.dc.unitinfo.datasource.ResourceSourceImpl) Group(com.badlogic.gdx.scenes.scene2d.Group) StyleHolder(eidolons.libgdx.StyleHolder) TEXT_CASES(eidolons.libgdx.anims.text.FloatingTextMaster.TEXT_CASES) eidolons.libgdx.bf(eidolons.libgdx.bf) WAIT_OPERATIONS(main.system.threading.WaitMaster.WAIT_OPERATIONS) java.awt(java.awt) TextureCache(eidolons.libgdx.texture.TextureCache) Eidolons(eidolons.game.core.Eidolons) Unit(eidolons.entity.obj.unit.Unit) DC_SoundMaster(eidolons.system.audio.DC_SoundMaster) SHADE_LIGHT(eidolons.libgdx.bf.light.ShadowMap.SHADE_LIGHT) OverlaysManager(eidolons.libgdx.bf.overlays.OverlaysManager) Label(com.badlogic.gdx.scenes.scene2d.ui.Label) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) BattleClickListener(eidolons.libgdx.bf.mouse.BattleClickListener) Unit(eidolons.entity.obj.unit.Unit)

Example 88 with InputEvent

use of com.badlogic.gdx.scenes.scene2d.InputEvent 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);
            }
        }
    };
}
Also used : ScenarioMetaMaster(eidolons.game.battlecraft.logic.meta.scenario.ScenarioMetaMaster) GameDialogue(eidolons.game.battlecraft.logic.meta.scenario.dialogue.GameDialogue) DialogScenario(eidolons.libgdx.DialogScenario) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) BattleClickListener(eidolons.libgdx.bf.mouse.BattleClickListener)

Example 89 with InputEvent

use of com.badlogic.gdx.scenes.scene2d.InputEvent in project Eidolons by IDemiurge.

the class ScrollPanel method init.

private void init() {
    this.setTouchable(Touchable.enabled);
    left().bottom();
    setClip(true);
    table = new Table();
    table.setFillParent(true);
    table.align(Align.left);
    table.setLayoutEnabled(true);
    table.pack();
    innerScrollContainer = new InnerScrollContainer<>();
    innerScrollContainer.left().bottom();
    innerScrollContainer.setActor(table);
    innerScrollContainer.setX(0);
    innerScrollContainer.setY(0);
    super.setActor(innerScrollContainer);
    addCaptureListener(new InputListener() {

        private float yy;

        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.stop();
            yy = y;
            instantOffsetY = 0;
            offsetY = 0;
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            offsetY += instantOffsetY * 6;
            instantOffsetY = 0;
        }

        @Override
        public void touchDragged(InputEvent event, float x, float y, int pointer) {
            instantOffsetY += y - yy;
        }

        public boolean scrolled(InputEvent event, float x, float y, int amount) {
            offsetY += amount * 3500;
            return true;
        }

        @Override
        public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
            getStage().setScrollFocus(ScrollPanel.this);
        }

        @Override
        public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
            getStage().setScrollFocus(null);
        }
    });
}
Also used : Table(com.badlogic.gdx.scenes.scene2d.ui.Table) InputListener(com.badlogic.gdx.scenes.scene2d.InputListener) Actor(com.badlogic.gdx.scenes.scene2d.Actor) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent)

Example 90 with InputEvent

use of com.badlogic.gdx.scenes.scene2d.InputEvent in project Eidolons by IDemiurge.

the class TabbedPanel method addTab.

public void addTab(T actor, String tabName) {
    TextButton b = new TextButton(tabName, getButtonStyle());
    if (buttonLayout == null) {
        initContainer();
    }
    b.addListener(new InputListener() {

        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            tabSelected(tabName);
            return true;
        }
    });
    buttonGroup.add(b);
    buttonLayout.add(b).left();
    tabs.add(actor);
    buttonGroup.setChecked(tabName);
    tabsToNamesMap.put(tabName, actor);
}
Also used : TextButton(com.badlogic.gdx.scenes.scene2d.ui.TextButton) InputListener(com.badlogic.gdx.scenes.scene2d.InputListener) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent)

Aggregations

InputEvent (com.badlogic.gdx.scenes.scene2d.InputEvent)358 ClickListener (com.badlogic.gdx.scenes.scene2d.utils.ClickListener)183 Actor (com.badlogic.gdx.scenes.scene2d.Actor)174 ChangeListener (com.badlogic.gdx.scenes.scene2d.utils.ChangeListener)144 PopTableClickListener (com.ray3k.stripe.PopTableClickListener)110 SimActor (com.ray3k.skincomposer.dialog.scenecomposer.DialogSceneComposerModel.SimActor)109 InputListener (com.badlogic.gdx.scenes.scene2d.InputListener)86 Label (com.badlogic.gdx.scenes.scene2d.ui.Label)53 Stage (com.badlogic.gdx.scenes.scene2d.Stage)49 TextButton (com.badlogic.gdx.scenes.scene2d.ui.TextButton)47 Table (com.badlogic.gdx.scenes.scene2d.ui.Table)45 TextureRegion (com.badlogic.gdx.graphics.g2d.TextureRegion)35 Texture (com.badlogic.gdx.graphics.Texture)34 Spinner (com.ray3k.stripe.Spinner)32 Skin (com.badlogic.gdx.scenes.scene2d.ui.Skin)31 Image (com.badlogic.gdx.scenes.scene2d.ui.Image)29 TextureRegionDrawable (com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable)26 ImageButton (com.badlogic.gdx.scenes.scene2d.ui.ImageButton)25 StyleSelectorPopTable (com.ray3k.skincomposer.dialog.scenecomposer.StyleSelectorPopTable)25 Sprite (com.badlogic.gdx.graphics.g2d.Sprite)22