com.bladecoder.engine.model.InteractiveActor.getDesc() - java examples

Here are the examples of the java api com.bladecoder.engine.model.InteractiveActor.getDesc() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

10 Examples 7

18 View Complete Implementation : I18NHandler.java
Copyright Apache License 2.0
Author : bladecoder
public void putTranslationsInElement(BaseActor a) {
    if (a instanceof InteractiveActor) {
        InteractiveActor ia = (InteractiveActor) a;
        // 1. DESC attribute
        ia.setDesc(getTranslation(ia.getDesc()));
        // 2. ACTIONS
        HashMap<String, Verb> verbs = ia.getVerbManager().getVerbs();
        for (Verb v : verbs.values()) putTranslationsInElement(v, false);
        // 3. DIALOGS
        if (a instanceof CharacterActor) {
            HashMap<String, Dialog> dialogs = ((CharacterActor) a).getDialogs();
            if (dialogs != null) {
                for (Dialog d : dialogs.values()) putTranslationsInElement(d);
            }
        }
        // 4. Text for TextRenderer
        if (a instanceof SpriteActor && ((SpriteActor) a).getRenderer() instanceof TextRenderer) {
            TextRenderer r = (TextRenderer) ((SpriteActor) a).getRenderer();
            r.setText(getTranslation(r.getText()));
        }
    }
}

18 View Complete Implementation : I18NHandler.java
Copyright Apache License 2.0
Author : bladecoder
private void getUsedKeys(Scene s, ArrayList<String> usedKeys) {
    for (Verb v : s.getVerbManager().getVerbs().values()) getUsedKeys(v, usedKeys);
    for (BaseActor a : s.getActors().values()) {
        if (a instanceof InteractiveActor) {
            InteractiveActor ia = (InteractiveActor) a;
            if (ia.getDesc() != null && !ia.getDesc().isEmpty() && ia.getDesc().charAt(0) == I18N.PREFIX)
                usedKeys.add(ia.getDesc().substring(1));
            for (Verb v : ia.getVerbManager().getVerbs().values()) getUsedKeys(v, usedKeys);
            if (a instanceof CharacterActor) {
                CharacterActor ca = (CharacterActor) a;
                if (ca.getDialogs() != null) {
                    for (Dialog d : ca.getDialogs().values()) {
                        for (DialogOption o : d.getOptions()) {
                            if (o.getText() != null && !o.getText().isEmpty() && o.getText().charAt(0) == I18N.PREFIX)
                                usedKeys.add(o.getText().substring(1));
                            if (o.getResponseText() != null && !o.getResponseText().isEmpty() && o.getResponseText().charAt(0) == I18N.PREFIX)
                                usedKeys.add(o.getResponseText().substring(1));
                        }
                    }
                }
            }
            if (a instanceof SpriteActor && ((SpriteActor) a).getRenderer() instanceof TextRenderer) {
                TextRenderer r = (TextRenderer) ((SpriteActor) a).getRenderer();
                String k = r.getText();
                if (k != null && !k.isEmpty() && k.charAt(0) == I18N.PREFIX)
                    usedKeys.add(k.substring(1));
            }
        }
    }
}

18 View Complete Implementation : DefaultSceneScreen.java
Copyright Apache License 2.0
Author : bladecoder
private void drawHotspots(SpriteBatch batch) {
    final World world = getWorld();
    for (BaseActor a : world.getCurrentScene().getActors().values()) {
        if (!(a instanceof InteractiveActor) || !a.isVisible() || a == world.getCurrentScene().getPlayer())
            continue;
        InteractiveActor ia = (InteractiveActor) a;
        if (!ia.canInteract())
            continue;
        Polygon p = a.getBBox();
        if (p == null) {
            EngineLogger.error("ERROR DRAWING HOTSPOT FOR: " + a.getId());
        }
        Rectangle r = a.getBBox().getBoundingRectangle();
        unprojectTmp.set(r.getX() + r.getWidth() / 2, r.getY() + r.getHeight() / 2, 0);
        world.getSceneCamera().scene2screen(viewport, unprojectTmp);
        if (!showDesc || ia.getDesc() == null) {
            float size = DPIUtils.ICON_SIZE * DPIUtils.getSizeMultiplier();
            if (ia.getVerb(Verb.LEAVE_VERB) != null) {
                TransformDrawable drawable = (TransformDrawable) getUI().getSkin().getDrawable(Verb.LEAVE_VERB);
                drawable.draw(batch, unprojectTmp.x - size / 2, unprojectTmp.y - size / 2, size / 2, size / 2, size, size, 1.0f, 1.0f, calcLeaveArrowRotation(ia));
            } else {
                Drawable drawable = getUI().getSkin().getDrawable("hotspot");
                if (drawable != null)
                    drawable.draw(batch, unprojectTmp.x - size / 2, unprojectTmp.y - size / 2, size, size);
            }
        } else {
            BitmapFont font = getUI().getSkin().getFont("desc");
            String desc = ia.getDesc();
            if (desc.charAt(0) == I18N.PREFIX)
                desc = getWorld().getI18N().getString(desc.substring(1));
            textLayout.setText(font, desc);
            float textX = unprojectTmp.x - textLayout.width / 2;
            float textY = unprojectTmp.y + textLayout.height;
            RectangleRenderer.draw(batch, textX - 8, textY - textLayout.height - 8, textLayout.width + 16, textLayout.height + 16, Color.BLACK);
            font.draw(batch, textLayout, textX, textY);
        }
    }
}

18 View Complete Implementation : RetroSceneScreen.java
Copyright Apache License 2.0
Author : bladecoder
private void drawHotspots(SpriteBatch batch) {
    final World world = ui.getWorld();
    for (BaseActor a : world.getCurrentScene().getActors().values()) {
        if (!(a instanceof InteractiveActor) || !a.isVisible() || a == world.getCurrentScene().getPlayer())
            continue;
        InteractiveActor ia = (InteractiveActor) a;
        if (!ia.canInteract())
            continue;
        Polygon p = a.getBBox();
        if (p == null) {
            EngineLogger.error("ERROR DRAWING HOTSPOT FOR: " + a.getId());
        }
        Rectangle r = a.getBBox().getBoundingRectangle();
        unprojectTmp.set(r.getX() + r.getWidth() / 2, r.getY() + r.getHeight() / 2, 0);
        world.getSceneCamera().scene2screen(worldViewport, unprojectTmp);
        if (world.getInventory().isVisible()) {
        // unprojectTmp.y += verbUI.getHeight();
        }
        if (ia.getDesc() == null) {
            float size = DPIUtils.ICON_SIZE * DPIUtils.getSizeMultiplier();
            Drawable drawable = ((TextureRegionDrawable) getUI().getSkin().getDrawable("circle")).tint(Color.RED);
            drawable.draw(batch, unprojectTmp.x - size / 2, unprojectTmp.y - size / 2, size, size);
        } else {
            BitmapFont font = getUI().getSkin().getFont("desc");
            String desc = ia.getDesc();
            if (desc.charAt(0) == I18N.PREFIX)
                desc = getWorld().getI18N().getString(desc.substring(1));
            textLayout.setText(font, desc);
            float textX = unprojectTmp.x - textLayout.width / 2;
            float textY = unprojectTmp.y + textLayout.height;
            RectangleRenderer.draw(batch, textX - 8, textY - textLayout.height - 8, textLayout.width + 16, textLayout.height + 16, Color.BLACK);
            font.draw(batch, textLayout, textX, textY);
        }
    }
}

17 View Complete Implementation : ModelTools.java
Copyright Apache License 2.0
Author : bladecoder
public static final void checkI18NMissingKeys() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
    Map<String, Scene> scenes = Ctx.project.getWorld().getScenes();
    for (Scene scn : scenes.values()) {
        Map<String, BaseActor> actors = scn.getActors();
        // SCENE VERBS
        HashMap<String, Verb> verbs = scn.getVerbManager().getVerbs();
        for (Verb v : verbs.values()) {
            ArrayList<Action> actions = v.getActions();
            for (Action act : actions) {
                String[] params = ActionUtils.getFieldNames(act);
                for (String p : params) {
                    String val = ActionUtils.getStringValue(act, p);
                    if (val != null && !val.isEmpty() && val.charAt(0) == I18N.PREFIX) {
                        String trans = Ctx.project.translate(val);
                        if (trans == val) {
                            EditorLogger.error("Key not found: " + val);
                        }
                    }
                }
            }
        }
        for (BaseActor a : actors.values()) {
            if (a instanceof InteractiveActor) {
                InteractiveActor ia = (InteractiveActor) a;
                // DESC
                if (ia.getDesc() != null && !ia.getDesc().isEmpty() && ia.getDesc().charAt(0) == I18N.PREFIX) {
                    String trans = Ctx.project.translate(ia.getDesc());
                    if (trans == ia.getDesc()) {
                        EditorLogger.error("Key not found: " + ia.getDesc());
                    }
                }
                // ACTOR VERBS
                verbs = ia.getVerbManager().getVerbs();
                for (Verb v : verbs.values()) {
                    ArrayList<Action> actions = v.getActions();
                    for (Action act : actions) {
                        String[] params = ActionUtils.getFieldNames(act);
                        for (String p : params) {
                            String val = ActionUtils.getStringValue(act, p);
                            if (val != null && !val.isEmpty() && val.charAt(0) == I18N.PREFIX) {
                                String trans = Ctx.project.translate(val);
                                if (trans == val) {
                                    EditorLogger.error("Key not found: " + val);
                                }
                            }
                        }
                    }
                }
            }
            // DIALOGS
            if (a instanceof CharacterActor) {
                HashMap<String, Dialog> dialogs = ((CharacterActor) a).getDialogs();
                if (dialogs != null) {
                    for (Dialog d : dialogs.values()) {
                        ArrayList<DialogOption> options = d.getOptions();
                        for (DialogOption o : options) {
                            if (o.getText() != null && !o.getText().isEmpty() && o.getText().charAt(0) == I18N.PREFIX) {
                                String trans = Ctx.project.translate(o.getText());
                                if (trans == o.getText()) {
                                    EditorLogger.error("Key not found: " + o.getText());
                                }
                            }
                            if (o.getResponseText() != null && !o.getResponseText().isEmpty() && o.getResponseText().charAt(0) == I18N.PREFIX) {
                                String trans = Ctx.project.translate(o.getResponseText());
                                if (trans == o.getResponseText()) {
                                    EditorLogger.error("Key not found: " + o.getResponseText());
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

17 View Complete Implementation : I18NHandler.java
Copyright Apache License 2.0
Author : bladecoder
public void extractStrings(String sceneid, BaseActor a) {
    if (a instanceof InteractiveActor) {
        InteractiveActor ia = (InteractiveActor) a;
        // 1. DESC attribute
        if (ia.getDesc() != null && !ia.getDesc().isEmpty() && ia.getDesc().charAt(0) != I18N.PREFIX) {
            String key = genKey(sceneid, a.getId(), "desc");
            String value = ia.getDesc();
            ia.setDesc(key);
            setTranslation(key, value);
        }
        // 2. ACTIONS
        HashMap<String, Verb> verbs = ia.getVerbManager().getVerbs();
        for (Verb v : verbs.values()) extractStrings(sceneid, a.getId(), v);
        // 3. DIALOGS
        if (a instanceof CharacterActor) {
            HashMap<String, Dialog> dialogs = ((CharacterActor) a).getDialogs();
            if (dialogs != null)
                for (Dialog d : dialogs.values()) extractStrings(sceneid, a.getId(), d);
        }
        // 4. Text for TextRenderer
        if (a instanceof SpriteActor && ((SpriteActor) a).getRenderer() instanceof TextRenderer) {
            TextRenderer r = (TextRenderer) ((SpriteActor) a).getRenderer();
            String v = r.getText();
            if (v != null && !v.isEmpty() && v.charAt(0) != I18N.PREFIX) {
                String key = genKey(sceneid, a.getId(), "text");
                r.setText(key, r.getText());
                setTranslation(key, v);
            }
        }
    }
}

17 View Complete Implementation : PieMenu2.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public void draw(Batch batch, float alpha) {
    super.draw(batch, alpha);
    // DRAW TARGET DESCRIPTION
    String desc = iActor.getDesc();
    if (desc != null) {
        float margin = DPIUtils.UI_SPACE;
        float textX = x - layout.width / 2;
        float textY = y - layout.height - DPIUtils.UI_SPACE;
        if (textX < 0)
            textX = 0;
        RectangleRenderer.draw(batch, textX - margin, textY - layout.height - margin, layout.width + margin * 2, layout.height + margin * 2, Color.BLACK);
        font.draw(batch, layout, textX, textY);
    }
}

16 View Complete Implementation : DefaultSceneScreen.java
Copyright Apache License 2.0
Author : bladecoder
private void update(float delta) {
    final World world = getWorld();
    float deltaScaled = delta * speed;
    if (!world.isDisposed()) {
        world.update(deltaScaled);
        // if the game ends returns
        if (world.isDisposed())
            return;
    }
    if (world.getreplacedetState() != replacedetState.LOADED) {
        // TRY TO LOAD THE replacedETS FOR LOADING_WAIT_TIME_MS TO AVOID
        // BLACK/LOADING SCREEN
        long t0 = System.currentTimeMillis();
        long t = t0;
        while (EnginereplacedetManager.getInstance().isLoading() && t - t0 < LOADING_WAIT_TIME_MS) {
            t = System.currentTimeMillis();
        }
        if (t - t0 >= LOADING_WAIT_TIME_MS) {
            // Sets loading screen if resources are not loaded yet
            ui.setCurrentScreen(Screens.LOADING_SCREEN);
        } else {
            updateUI();
            world.resize(viewport.getWorldWidth(), viewport.getWorldHeight());
            // update() to retrieve replacedets and exec init verb
            world.update(0);
        }
        return;
    }
    stage.act(delta);
    pointer.update(delta);
    if (drawHotspots) {
        Drawable hotspotDrawable = getUI().getSkin().getDrawable(Verb.LEAVE_VERB);
        Drawable leaveDrawable = getUI().getSkin().getDrawable("hotspot");
        if (hotspotDrawable != null && hotspotDrawable instanceof AnimationDrawable)
            ((AnimationDrawable) hotspotDrawable).act(delta);
        if (leaveDrawable != null && leaveDrawable instanceof AnimationDrawable)
            ((AnimationDrawable) leaveDrawable).act(delta);
    }
    if (world.isPaused())
        return;
    recorder.update(deltaScaled);
    testerBot.update(deltaScaled);
    InteractiveActor actorUnderCursor = null;
    if (uiEnabled && !world.hasDialogOptions()) {
        if (inventoryUI.isVisible()) {
            unproject2Tmp.set(Gdx.input.getX(), Gdx.input.getY());
            inventoryUI.screenToLocalCoordinates(unproject2Tmp);
            actorUnderCursor = inventoryUI.gereplacedemAt(unproject2Tmp.x, unproject2Tmp.y);
        } else {
            actorUnderCursor = getActorUnderCursor();
        }
        // UPDATE POINTER
        if (!pie.isVisible() && actorUnderCursor != currentActor) {
            currentActor = actorUnderCursor;
            if (currentActor != null) {
                if (showDesc)
                    pointer.setDesc(currentActor.getDesc());
                Verb leaveVerb = currentActor.getVerb(Verb.LEAVE_VERB);
                Drawable r = null;
                if (leaveVerb != null) {
                    if ((r = getDrawable(leaveVerb.getIcon())) != null) {
                        pointer.setIcon(r);
                    } else {
                        pointer.setLeaveIcon(calcLeaveArrowRotation(currentActor));
                    }
                } else {
                    Verb actionVerb = currentActor.getVerb(Verb.ACTION_VERB);
                    if (actionVerb != null && (r = getDrawable(actionVerb.getIcon())) != null) {
                        pointer.setIcon(r);
                    } else {
                        pointer.setHotspotIcon();
                    }
                }
            } else {
                pointer.setDefaultIcon();
            }
        } else if (pie.isVisible()) {
            currentActor = actorUnderCursor;
        }
    }
}

16 View Complete Implementation : PieMenu.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public void draw(Batch batch, float alpha) {
    // check if the interactive or visible property has change and hide it.
    if (!iActor.canInteract()) {
        hide();
        return;
    }
    super.draw(batch, alpha);
    // DRAW TARGET DESCRIPTION
    String desc = iActor.getDesc();
    if (desc != null) {
        float margin = DPIUtils.UI_SPACE;
        float textX = x - layout.width / 2;
        float textY = y - layout.height - DPIUtils.UI_SPACE;
        if (textX < 0)
            textX = 0;
        RectangleRenderer.draw(batch, textX - margin, textY - layout.height - margin, layout.width + margin * 2, layout.height + margin * 2, Color.BLACK);
        font.draw(batch, layout, textX, textY);
    }
}

9 View Complete Implementation : EditActorDialog.java
Copyright Apache License 2.0
Author : bladecoder
@Override
protected void modelToInputs() {
    id.setText(e.getId());
    visible.setText(Boolean.toString(e.isVisible()));
    pos.setText(Param.toStringParam(new Vector2(e.getX(), e.getY())));
    if (e instanceof InteractiveActor) {
        InteractiveActor ia = (InteractiveActor) e;
        layer.setText(ia.getLayer());
        interaction.setText(Boolean.toString(ia.getInteraction()));
        refPoint.setText(Param.toStringParam(ia.getRefPoint()));
        desc.setText(Ctx.project.translate(ia.getDesc()));
        state.setText(ia.getState());
        zIndex.setText(Float.toString(ia.getZIndex()));
        if (e instanceof SpriteActor) {
            SpriteActor sa = (SpriteActor) e;
            ActorRenderer r = sa.getRenderer();
            if (r instanceof AtlasRenderer) {
                renderer.setText(Project.ATLAS_RENDERER_STRING);
            } else if (r instanceof ImageRenderer) {
                renderer.setText(Project.IMAGE_RENDERER_STRING);
            } else if (r instanceof Sprite3DRenderer) {
                renderer.setText(Project.S3D_RENDERER_STRING);
                Sprite3DRenderer s3d = (Sprite3DRenderer) r;
                fov.setText(Float.toString(s3d.getCameraFOV()));
                cameraName.setText(s3d.getCameraName());
                spriteSize.setText(Param.toStringParam(s3d.getSpriteSize()));
            } else if (r instanceof ParticleRenderer) {
                renderer.setText(Project.PARTICLE_RENDERER_STRING);
                ParticleRenderer pr = (ParticleRenderer) r;
                particleName.setText(pr.getParticleName());
                particleAtlas.setText(pr.getAtlasName());
            } else if (r instanceof TextRenderer) {
                renderer.setText(Project.TEXT_RENDERER_STRING);
                TextRenderer tr = (TextRenderer) r;
                text.setText(Ctx.project.translate(tr.getText()));
                size.setText(Integer.toString(tr.getFontSize()));
                font.setText(tr.getFontName());
                borderWidth.setText(Integer.toString(tr.getBorderWidth()));
                textAlign.setText(AlignUtils.getAlign(tr.getAlign()));
                borderColor.setText(tr.getBorderColor().toString());
                borderStraight.setText(Boolean.toString(tr.isBorderStraight()));
                shadowOffsetX.setText(Integer.toString(tr.getShadowOffsetX()));
                shadowOffsetY.setText(Integer.toString(tr.getShadowOffsetY()));
                shadowColor.setText(tr.getShadowColor().toString());
            } else if (r instanceof SpineRenderer) {
                renderer.setText(Project.SPINE_RENDERER_STRING);
                spineSkin.setText(((SpineRenderer) r).getSkin());
            }
            fakeDepth.setText(Boolean.toString(sa.getFakeDepth()));
            scale.setText(Param.toStringParam(new Vector2(sa.getScaleX(), sa.getScaleY())));
            rot.setText(Float.toString(sa.getRot()));
            tint.setText(sa.getTint() == null ? null : sa.getTint().toString());
            bboxFromRenderer.setText(Boolean.toString(sa.isBboxFromRenderer()));
            orgAlign.setText(AlignUtils.getAlign(sa.getRenderer().getOrgAlign()));
            if (e instanceof CharacterActor) {
                CharacterActor ca = (CharacterActor) e;
                walkingSpeed.setText(Float.toString(ca.getWalkingSpeed()));
                textColor.setText(ca.getTextColor() == null ? null : ca.getTextColor().toString());
                textStyle.setText(ca.getTextStyle());
                talkingTextPos.setText(Param.toStringParam(ca.getTalkingTextPos()));
                typePanel.setText(CHARACTER_TYPE_STR);
            } else {
                typePanel.setText(SPRITE_TYPE_STR);
            }
        } else {
            typePanel.setText(BACKGROUND_TYPE_STR);
        }
    } else if (e instanceof AnchorActor) {
        typePanel.setText(ANCHOR_TYPE_STR);
    } else if (e instanceof WalkZoneActor) {
        typePanel.setText(WALKZONE_TYPE_STR);
    } else if (e instanceof ObstacleActor) {
        typePanel.setText(OBSTACLE_TYPE_STR);
    }
}