Search in sources :

Example 1 with ResourceSourceImpl

use of eidolons.libgdx.gui.panels.dc.unitinfo.datasource.ResourceSourceImpl in project Eidolons by IDemiurge.

the class GridPanel method onIngameEvent.

private EventCallback onIngameEvent() {
    return param -> {
        Event event = (Event) param.get();
        Ref ref = event.getRef();
        boolean caught = false;
        if (event.getType() == STANDARD_EVENT_TYPE.EFFECT_HAS_BEEN_APPLIED) {
            GuiEventManager.trigger(GuiEventType.EFFECT_APPLIED, event.getRef());
            caught = true;
        } else if (event.getType() == STANDARD_EVENT_TYPE.UNIT_HAS_CHANGED_FACING || event.getType() == STANDARD_EVENT_TYPE.UNIT_HAS_TURNED_CLOCKWISE || event.getType() == STANDARD_EVENT_TYPE.UNIT_HAS_TURNED_ANTICLOCKWISE) {
            BattleFieldObject hero = (BattleFieldObject) ref.getObj(KEYS.TARGET);
            // if (hero.isMainHero()) TODO this is an experiment (insane) feature...
            // if (hero.isMine()) {
            // turnField(event.getType());
            // }
            BaseView view = viewMap.get(hero);
            if (view != null && view instanceof GridUnitView) {
                GridUnitView unitView = ((GridUnitView) view);
                unitView.updateRotation(hero.getFacing().getDirection().getDegrees());
                // SoundController.getCustomEventSound(SOUND_EVENT.UNIT_TURNS, );
                if (hero instanceof Unit)
                    DC_SoundMaster.playTurnSound((Unit) hero);
            }
            caught = true;
        } else if (event.getType() == STANDARD_EVENT_TYPE.UNIT_HAS_FALLEN_UNCONSCIOUS) {
            GuiEventManager.trigger(UNIT_GREYED_OUT_ON, ref.getSourceObj());
        } else if (event.getType() == STANDARD_EVENT_TYPE.UNIT_HAS_RECOVERED_FROM_UNCONSCIOUSNESS) {
            GuiEventManager.trigger(UNIT_GREYED_OUT_OFF, ref.getSourceObj());
        } else if (event.getType() == STANDARD_EVENT_TYPE.UNIT_HAS_BEEN_KILLED) {
            GuiEventManager.trigger(UNIT_GREYED_OUT_OFF, ref.getSourceObj());
            if (!DeathAnim.isOn() || ref.isDebug()) {
                GuiEventManager.trigger(DESTROY_UNIT_MODEL, ref.getTargetObj());
            }
            caught = true;
        } else if (event.getType() == STANDARD_EVENT_TYPE.UNIT_BEING_MOVED) {
            if (// || AnimMaster.isAnimationOffFor(ref.getSourceObj(), viewMap.get(ref.getSourceObj())))
            !MoveAnimation.isOn())
                removeUnitView((BattleFieldObject) ref.getSourceObj());
            caught = true;
        } else if (event.getType() == STANDARD_EVENT_TYPE.UNIT_FINISHED_MOVING) {
            if (!MoveAnimation.isOn() || AnimMaster.isAnimationOffFor(ref.getSourceObj(), viewMap.get(ref.getSourceObj())))
                moveUnitView((BattleFieldObject) ref.getSourceObj());
            caught = true;
        } else if (event.getType().name().startsWith("PARAM_BEING_MODIFIED")) {
            caught = true;
        } else if (event.getType().name().startsWith("PROP_")) {
            caught = true;
        } else if (event.getType().name().startsWith("ABILITY_")) {
            caught = true;
        } else if (event.getType().name().startsWith("EFFECT_")) {
            caught = true;
        } else if (event.getType().name().startsWith("PARAM_MODIFIED")) {
            if (GuiEventManager.isParamEventAlwaysFired(event.getType().getArg())) {
                UnitView view = (UnitView) getViewMap().get(event.getRef().getSourceObj());
                if (view != null)
                    if (view.isVisible())
                        if (view.getHpBar() != null)
                            // if (view.getHpBar( ).getDataSource().canHpBarBeVisible())
                            view.resetHpBar(new ResourceSourceImpl((BattleFieldObject) event.getRef().getSourceObj()));
            }
            caught = true;
        }
        if (!caught) {
        /*      System.out.println("catch ingame event: " + event.getType() + " in " + event.getRef());
           */
        }
    };
}
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) ResourceSourceImpl(eidolons.libgdx.gui.panels.dc.unitinfo.datasource.ResourceSourceImpl) Ref(main.entity.Ref) BattleFieldObject(eidolons.entity.obj.BattleFieldObject) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) Event(main.game.logic.event.Event) Unit(eidolons.entity.obj.unit.Unit)

Example 2 with ResourceSourceImpl

use of eidolons.libgdx.gui.panels.dc.unitinfo.datasource.ResourceSourceImpl in project Eidolons by IDemiurge.

the class UnitViewFactory method create.

public static GridUnitView create(BattleFieldObject bfObj) {
    UnitViewOptions options = new UnitViewOptions(bfObj);
    GridUnitView view = new GridUnitView(options);
    if (VisionMaster.isLastSeenOn()) {
        LastSeenView lsv = new LastSeenView(options, view);
        view.setLastSeenView(lsv);
        new LastSeenTooltipFactory().add(lsv, bfObj);
    }
    view.setOutlinePathSupplier(() -> {
        OUTLINE_TYPE type = null;
        // if (bfObj instanceof Unit) {
        // if (!VisionManager.checkVisible(bfObj)) {
        // type = OUTLINE_TYPE.DARK_OUTLINE;
        // }
        // }
        // if (type == null)
        type = bfObj.getOutlineTypeForPlayer();
        if (type == null)
            return null;
        String path = Eidolons.game.getVisionMaster().getVisibilityMaster().getImagePath(type, bfObj);
        return (path);
    });
    view.createHpBar((new ResourceSourceImpl(bfObj)));
    if (bfObj instanceof Unit) {
        view.getInitiativeQueueUnitView().getHpBar().setTeamColor(options.getTeamColor());
    }
    view.getHpBar().setTeamColor(options.getTeamColor());
    final UnitViewTooltip tooltip = new UnitViewTooltip(view);
    tooltip.setUserObject(UnitViewTooltipFactory.create(bfObj));
    view.setToolTip(tooltip);
    ClickListener listener = createListener(bfObj);
    view.addListener(listener);
    view.getInitiativeQueueUnitView().addListener(listener);
    return view;
}
Also used : OUTLINE_TYPE(main.content.enums.rules.VisionEnums.OUTLINE_TYPE) ResourceSourceImpl(eidolons.libgdx.gui.panels.dc.unitinfo.datasource.ResourceSourceImpl) LastSeenTooltipFactory(eidolons.libgdx.gui.tooltips.LastSeenTooltipFactory) Unit(eidolons.entity.obj.unit.Unit) UnitViewTooltip(eidolons.libgdx.gui.tooltips.UnitViewTooltip) BattleClickListener(eidolons.libgdx.bf.mouse.BattleClickListener) ClickListener(com.badlogic.gdx.scenes.scene2d.utils.ClickListener)

Aggregations

Unit (eidolons.entity.obj.unit.Unit)2 BattleClickListener (eidolons.libgdx.bf.mouse.BattleClickListener)2 ResourceSourceImpl (eidolons.libgdx.gui.panels.dc.unitinfo.datasource.ResourceSourceImpl)2 OUTLINE_TYPE (main.content.enums.rules.VisionEnums.OUTLINE_TYPE)2 Gdx (com.badlogic.gdx.Gdx)1 Keys (com.badlogic.gdx.Input.Keys)1 Batch (com.badlogic.gdx.graphics.g2d.Batch)1 TextureRegion (com.badlogic.gdx.graphics.g2d.TextureRegion)1 Vector2 (com.badlogic.gdx.math.Vector2)1 Group (com.badlogic.gdx.scenes.scene2d.Group)1 InputEvent (com.badlogic.gdx.scenes.scene2d.InputEvent)1 Image (com.badlogic.gdx.scenes.scene2d.ui.Image)1 Label (com.badlogic.gdx.scenes.scene2d.ui.Label)1 ClickListener (com.badlogic.gdx.scenes.scene2d.utils.ClickListener)1 Align (com.badlogic.gdx.utils.Align)1 BattleFieldObject (eidolons.entity.obj.BattleFieldObject)1 DC_Obj (eidolons.entity.obj.DC_Obj)1 DC_Engine (eidolons.game.battlecraft.DC_Engine)1 LastSeenMaster (eidolons.game.battlecraft.logic.battlefield.vision.LastSeenMaster)1 OutlineMaster (eidolons.game.battlecraft.logic.battlefield.vision.OutlineMaster)1