com.bladecoder.engine.model.VerbRunner - java examples

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

60 Examples 7

18 View Complete Implementation : DisableActionAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    return false;
}

18 View Complete Implementation : AbstractIfAction.java
Copyright Apache License 2.0
Author : bladecoder
protected void gotoElse(VerbRunner v) {
    int ip = skipControlIdBlock(v.getActions(), v.getIP());
    v.setIP(ip);
}

18 View Complete Implementation : IfInkVariableAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    if (!w.getInkManager().compareVariable(name, value)) {
        gotoElse((VerbRunner) cb);
    }
    return false;
}

17 View Complete Implementation : SoundAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    if (play != null) {
        w.getCurrentScene().getSoundManager().playSound(actor + "_" + play);
    } else {
        w.getCurrentScene().getSoundManager().stopCurrentSound(actor);
    }
    return false;
}

17 View Complete Implementation : SetCutmodeAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    w.setCutMode(value);
    return false;
}

17 View Complete Implementation : LeaveAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    w.setCurrentScene(scene, init, initVerb);
    return true;
}

17 View Complete Implementation : AnimationAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    // EngineLogger.debug(MessageFormat.format("ANIMATION_ACTION: {0}.{1}", animation.getActorId(), animation.getAnimationId()));
    String actorId = animation.getActorId();
    SpriteActor a = (SpriteActor) w.getCurrentScene().getActor(actorId, true);
    String anim = animation.getAnimationId();
    if (keepDirection) {
        String c = ((AnimationRenderer) a.getRenderer()).getCurrentAnimationId();
        if (anim.endsWith(AnimationRenderer.LEFT) && c.endsWith(AnimationRenderer.RIGHT) || anim.endsWith(AnimationRenderer.RIGHT) && c.endsWith(AnimationRenderer.LEFT)) {
            anim = AnimationRenderer.getFlipId(anim);
        }
    }
    a.startAnimation(anim, repeat, count, wait ? cb : null);
    return wait;
}

17 View Complete Implementation : LoadChapterAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    try {
        w.loadChapter(chapter, scene, false);
    } catch (Exception e) {
        EngineLogger.error(e.getMessage());
    }
    return true;
}

17 View Complete Implementation : IfPropertyAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    String valDest = w.getCustomProperty(name);
    if (valDest == null)
        valDest = Config.getInstance().getProperty(name, null);
    if (valDest == null)
        valDest = Config.getInstance().getPref(name, null);
    if (!ActionUtils.compareNullStr(value, valDest)) {
        gotoElse(cb);
    }
    return false;
}

17 View Complete Implementation : OpenURLAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Gdx.net.openURI(url);
    return false;
}

17 View Complete Implementation : PlaySoundAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    if (!stop) {
        w.getCurrentScene().getSoundManager().playSound(sound);
    } else {
        w.getCurrentScene().getSoundManager().stopSound(sound);
    }
    return false;
}

17 View Complete Implementation : RunVerbAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    run(cb.getCurrentTarget(), wait ? cb : null);
    return wait;
}

17 View Complete Implementation : InkVariable.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    try {
        w.getInkManager().setVariable(name, value);
    } catch (Exception e) {
        EngineLogger.error("Cannot set Ink variable: " + name + " " + e.getMessage());
    }
    return false;
}

17 View Complete Implementation : PropertyAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    w.setCustomProperty(prop, value);
    return false;
}

17 View Complete Implementation : ShowInventoryAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    w.showInventory(value);
    return false;
}

17 View Complete Implementation : InkNewStoryAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    try {
        w.getInkManager().newStory(storyName);
    } catch (Exception e) {
        EngineLogger.error("Cannot load Ink Story: " + storyName + " " + e.getMessage());
    }
    return false;
}

17 View Complete Implementation : WaitAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    w.getCurrentScene().addTimer(time, cb);
    return true;
}

17 View Complete Implementation : RepeatAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    VerbRunner v = (VerbRunner) cb;
    currentRepeat++;
    if (currentRepeat > repeat && repeat >= 0) {
        final int ip = skipControlIdBlock(v.getActions(), v.getIP());
        v.setIP(ip);
        currentRepeat = 0;
    }
    return false;
}

17 View Complete Implementation : InkRunAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    try {
        w.getInkManager().runPath(path, wait ? cb : null);
    } catch (Exception e) {
        EngineLogger.error("Cannot jump to: " + path + " " + e.getMessage());
    }
    return wait;
}

17 View Complete Implementation : RunOnceAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    VerbRunner v = (VerbRunner) cb;
    if (executed) {
        final int ip = skipControlIdBlock(v.getActions(), v.getIP());
        v.setIP(ip);
    }
    executed = true;
    return false;
}

16 View Complete Implementation : SetSceneStateAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Scene s = (scene != null && !scene.isEmpty()) ? w.getScene(scene) : w.getCurrentScene();
    s.setState(state);
    return false;
}

15 View Complete Implementation : SpineSecondaryAnimationAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    String actorId = animation.getActorId();
    SpriteActor a = (SpriteActor) w.getCurrentScene().getActor(actorId, true);
    if (a.getRenderer() instanceof SpineRenderer) {
        SpineRenderer r = (SpineRenderer) a.getRenderer();
        String anim = animation.getAnimationId();
        if (anim.isEmpty())
            anim = null;
        r.setSecondaryAnimation(anim);
    } else {
        EngineLogger.error("SpineSecondaryAnimation: The actor renderer has to be of Spine type.");
    }
    return false;
}

15 View Complete Implementation : SpineSkinAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    SpriteActor a = (SpriteActor) actor.getActor(w);
    if (a instanceof SpriteActor && a.getRenderer() instanceof SpineRenderer) {
        SpineRenderer r = (SpineRenderer) a.getRenderer();
        r.setSkin(skin);
    } else {
        EngineLogger.error("SpineSecondaryAnimation: The actor renderer has to be of Spine type.");
    }
    return false;
}

15 View Complete Implementation : AddValueToProperty.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    String p = w.getCustomProperty(prop);
    int v = 0;
    if (p != null) {
        try {
            v = Integer.parseInt(p);
        } catch (NumberFormatException e) {
        }
    }
    v += value;
    w.setCustomProperty(prop, Integer.toString(v));
    EngineLogger.debug("AddValueToProperty: " + prop + "=" + w.getCustomProperty(prop));
    return false;
}

15 View Complete Implementation : CancelVerbAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    VerbRunner v = null;
    if (verb == null) {
        v = (VerbRunner) cb;
    }
    if (v == null && actor != null) {
        BaseActor a = w.getCurrentScene().getActor(actor, true);
        v = ((InteractiveActor) a).getVerb(verb, target);
    }
    if (v == null) {
        v = w.getCurrentScene().getVerb(verb);
    }
    if (v == null) {
        v = w.getVerbManager().getVerb(verb, null, null);
    }
    if (v != null) {
        // Cancel possible pending timer
        w.getCurrentScene().getTimers().removeTimerWithCb(v);
        v.cancel();
    } else
        EngineLogger.error("Cannot find VERB: " + verb + " for ACTOR: " + actor);
    return false;
}

15 View Complete Implementation : DropItemAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Scene ts = null;
    if (scene == null)
        ts = w.getCurrentScene();
    else
        ts = w.getScene(scene);
    Inventory inv = null;
    if (inventory == null) {
        inv = w.getInventory();
    } else {
        inv = w.getInventories().get(inventory);
        if (inv == null) {
            EngineLogger.error("Inventory not found: " + inventory);
            return false;
        }
    }
    BaseActor a;
    if (actor != null) {
        a = inv.get(actor);
        if (a == null) {
            EngineLogger.error(MessageFormat.format("DropItemAction -  Item not found: {0}", actor));
            return false;
        }
        removeActor(inv, ts, a);
    } else {
        int n = inv.getNumItems();
        for (int i = n - 1; i >= 0; i--) {
            a = inv.get(i);
            removeActor(inv, ts, a);
        }
    }
    return false;
}

15 View Complete Implementation : EndAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    // FIXME: This is now more generic than before, but also less optimized (we always get our "parent")
    final VerbRunner v = (VerbRunner) cb;
    final List<Action> actions = v.getActions();
    final int ip = v.getIP();
    final int parentIp = getParentControlAction(caID, actions, ip);
    final AbstractControlAction parent = (AbstractControlAction) actions.get(parentIp);
    if (parent instanceof RepeatAction) {
        v.setIP(parentIp - 1);
    } else if (parent instanceof AbstractIfAction) {
        // goto Else
        int newIp = skipControlIdBlock(actions, parentIp);
        // goto EndIf
        newIp = skipControlIdBlock(actions, newIp);
        v.setIP(newIp);
    }
    return false;
}

15 View Complete Implementation : MusicVolumeAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    MusicManager musicEngine = w.getMusicManager();
    if (duration == 0) {
        musicEngine.setVolume(volume);
        return false;
    } else {
        w.getMusicManager().fade(volume, duration, wait ? cb : null);
    }
    return wait;
}

15 View Complete Implementation : SetDescAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    final Scene s = actor.getScene(w);
    String actorId = actor.getActorId();
    if (actorId == null) {
        EngineLogger.error("SetDesc - Actor not set.");
        return false;
    }
    InteractiveActor a = (InteractiveActor) s.getActor(actorId, true);
    if (a != null)
        a.setDesc(text);
    else
        EngineLogger.error("SetDesc - Actor not found: " + actorId);
    return false;
}

15 View Complete Implementation : SetStateAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    final Scene s = actor.getScene(w);
    String actorId = actor.getActorId();
    if (actorId == null) {
        // if called in a scene verb and no actor is specified, set the state of the
        // scene
        s.setState(state);
        return false;
    }
    InteractiveActor a = (InteractiveActor) s.getActor(actorId, true);
    if (a != null)
        a.setState(state);
    else
        EngineLogger.error("SetState - Actor not found: " + actorId);
    return false;
}

15 View Complete Implementation : SetWalkzoneAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    if (actor == null) {
        w.getCurrentScene().setWalkZone(null);
    } else {
        Scene s = actor.getScene(w);
        s.setWalkZone(actor.getActorId());
        // We must recalc the walkzone when the target scene is the current scene or when
        // the scene is cached.
        if (s == w.getCurrentScene() || w.getCachedScene(s.getId()) != null) {
            s.calcWalkzone();
        }
    }
    return false;
}

15 View Complete Implementation : TalktoAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    CharacterActor a = (CharacterActor) w.getCurrentScene().getActor(actor, false);
    w.setCurrentDialog(a.getDialog(dialog));
    return false;
}

15 View Complete Implementation : TransitionAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Transition t = w.getTransition();
    t.create(time, color, type, wait ? cb : null);
    return wait;
}

14 View Complete Implementation : AlphaAnimAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    SpriteActor a = (SpriteActor) w.getCurrentScene().getActor(actor, true);
    SpriteAlphaTween t = new SpriteAlphaTween();
    t.start(a, repeat, count, alpha, speed, interpolation, wait ? cb : null);
    a.addTween(t);
    return wait;
}

14 View Complete Implementation : ChooseAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    int startIp = cb.getIP();
    int ip0 = startIp + 1;
    final List<Action> actions = cb.getActions();
    int ip = skipControlIdBlock(actions, startIp);
    int numActions = ip - startIp - 1;
    if (numActions <= 0)
        return false;
    switch(chooseCriteria) {
        case ITERATE:
            chooseCount++;
            break;
        case RANDOM:
            chooseCount = MathUtils.random(0, numActions - 1);
            break;
        case CYCLE:
            chooseCount = (chooseCount + 1) % numActions;
            break;
    }
    cb.setIP(ip);
    if (chooseCount < numActions) {
        return actions.get(ip0 + chooseCount).run(cb);
    }
    return false;
}

14 View Complete Implementation : CommentAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    if (EngineLogger.debugMode() && comment != null) {
        EngineLogger.debug(comment);
        if (debug)
            w.getCurrentScene().getTextManager().addText(comment, TextManager.POS_SUBreplacedLE, TextManager.POS_SUBreplacedLE, false, Text.Type.UI, Color.YELLOW, null, null, null, null, null);
    }
    return false;
}

14 View Complete Implementation : EndGameAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    UI ui = BladeEngine.getAppUI();
    ui.setCurrentScreen(UI.Screens.CREDIT_SCREEN);
    w.endGame();
    return true;
}

14 View Complete Implementation : IfSceneAttrAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Scene s = (scene != null && !scene.isEmpty()) ? w.getScene(scene) : w.getCurrentScene();
    if (attr == SceneAttr.STATE) {
        if (!ActionUtils.compareNullStr(value, s.getState())) {
            gotoElse(cb);
        }
    } else if (attr == SceneAttr.CURRENT_SCENE) {
        String scn = w.getCurrentScene().getId();
        if (!ActionUtils.compareNullStr(value, scn) && !ActionUtils.compareNullStr(s.getId(), scn)) {
            gotoElse(cb);
        }
    } else if (attr == SceneAttr.PLAYER) {
        CharacterActor player = s.getPlayer();
        String id = player != null ? player.getId() : null;
        if (!ActionUtils.compareNullStr(value, id)) {
            gotoElse(cb);
        }
    }
    return false;
}

14 View Complete Implementation : PositionAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Scene s = actor.getScene(w);
    BaseActor a = s.getActor(actor.getActorId(), true);
    float x = a.getX();
    float y = a.getY();
    if (target != null) {
        Scene ts = target.getScene(w);
        BaseActor anchorActor = ts.getActor(target.getActorId(), false);
        x = anchorActor.getX();
        y = anchorActor.getY();
        if (anchorActor instanceof InteractiveActor && a != anchorActor) {
            Vector2 refPoint = ((InteractiveActor) anchorActor).getRefPoint();
            x += refPoint.x;
            y += refPoint.y;
        }
        if (position != null) {
            float scale = EnginereplacedetManager.getInstance().getScale();
            x += position.x * scale;
            y += position.y * scale;
        }
    } else if (position != null) {
        float scale = EnginereplacedetManager.getInstance().getScale();
        x = position.x * scale;
        y = position.y * scale;
    }
    a.setPosition(x, y);
    return false;
}

14 View Complete Implementation : RandomPositionAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Scene s = actor.getScene(w);
    BaseActor a = s.getActor(actor.getActorId(), true);
    float x = a.getX();
    float y = a.getY();
    float rx = (float) (minPosition.x + Math.random() * (maxPosition.x - minPosition.x));
    float ry = (float) (minPosition.y + Math.random() * (maxPosition.y - minPosition.y));
    if (target != null) {
        Scene ts = target.getScene(w);
        BaseActor anchorActor = ts.getActor(target.getActorId(), false);
        x = anchorActor.getX();
        y = anchorActor.getY();
        if (anchorActor instanceof InteractiveActor && a != anchorActor) {
            Vector2 refPoint = ((InteractiveActor) anchorActor).getRefPoint();
            x += refPoint.x;
            y += refPoint.y;
        }
        float scale = EnginereplacedetManager.getInstance().getScale();
        x += rx * scale;
        y += ry * scale;
    } else {
        float scale = EnginereplacedetManager.getInstance().getScale();
        x = rx * scale;
        y = ry * scale;
    }
    a.setPosition(x, y);
    return false;
}

14 View Complete Implementation : RotateAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    SpriteActor a = (SpriteActor) w.getCurrentScene().getActor(actor, true);
    SpriteRotateTween t = new SpriteRotateTween();
    t.start(a, repeat, count, rotation, speed, interpolation, wait ? cb : null);
    a.addTween(t);
    return wait;
}

14 View Complete Implementation : ScaleAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    SpriteActor a = (SpriteActor) w.getCurrentScene().getActor(actor, true);
    SpriteScaleTween t = new SpriteScaleTween();
    t.start(a, repeat, count, scale, scale, speed, interpolation, wait ? cb : null);
    a.addTween(t);
    return wait;
}

14 View Complete Implementation : SetActorAttrAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    Scene s = actor.getScene(w);
    BaseActor a = s.getActor(actor.getActorId(), true);
    if (a == null) {
        EngineLogger.error("SetActorAttr - Actor not found:" + this.actor.getActorId());
        return false;
    }
    if (visible != null)
        a.setVisible(visible);
    if (interaction != null) {
        if (a instanceof InteractiveActor)
            ((InteractiveActor) a).setInteraction(interaction);
        else
            EngineLogger.error("'Interaction' property not supported for actor:" + a.getId());
    }
    if (layer != null) {
        if (a instanceof InteractiveActor) {
            InteractiveActor iActor = (InteractiveActor) a;
            String oldLayer = iActor.getLayer();
            s.getLayer(oldLayer).remove(iActor);
            iActor.setLayer(layer);
            SceneLayer l = s.getLayer(layer);
            l.add(iActor);
            if (!l.isDynamic())
                l.orderByZIndex();
        } else
            EngineLogger.error("'layer' property not supported for actor:" + a.getId());
    }
    if (zIndex != null) {
        if (a instanceof InteractiveActor) {
            InteractiveActor iActor = (InteractiveActor) a;
            iActor.setZIndex(zIndex);
            SceneLayer l = s.getLayer(iActor.getLayer());
            if (!l.isDynamic())
                l.orderByZIndex();
        } else
            EngineLogger.error("'zIndex' property not supported for actor:" + a.getId());
    }
    if (scale != null) {
        if (a instanceof SpriteActor)
            ((SpriteActor) a).setScale(scale);
        else
            EngineLogger.error("'scale' property not supported for actor:" + a.getId());
    }
    if (scaleXY != null) {
        if (a instanceof SpriteActor)
            ((SpriteActor) a).setScale(scaleXY.x, scaleXY.y);
        else
            EngineLogger.error("'scale' property not supported for actor:" + a.getId());
    }
    if (rotation != null) {
        if (a instanceof SpriteActor)
            ((SpriteActor) a).setRot(rotation);
        else
            EngineLogger.error("'rotation' property not supported for actor:" + a.getId());
    }
    if (tint != null) {
        if (a instanceof SpriteActor)
            ((SpriteActor) a).setTint(tint.cpy());
        else
            EngineLogger.error("'tint' property not supported for actor:" + a.getId());
    }
    if (fakeDepth != null) {
        if (a instanceof SpriteActor) {
            ((SpriteActor) a).setFakeDepth(fakeDepth);
        } else
            EngineLogger.error("'fakeDepth' property not supported for actor:" + a.getId());
    }
    if (standAnimation != null) {
        if (a instanceof CharacterActor)
            ((CharacterActor) a).setStandAnim(standAnimation);
        else
            EngineLogger.error("'standAnimation' property not supported for actor:" + a.getId());
    }
    if (walkAnimation != null) {
        if (a instanceof CharacterActor)
            ((CharacterActor) a).setWalkAnim(walkAnimation);
        else
            EngineLogger.error("'walkAnimation' property not supported for actor:" + a.getId());
    }
    if (talkAnimation != null) {
        if (a instanceof CharacterActor)
            ((CharacterActor) a).setTalkAnim(talkAnimation);
        else
            EngineLogger.error("'talkAnimation' property not supported for actor:" + a.getId());
    }
    if (walkingSpeed != null) {
        if (a instanceof CharacterActor)
            ((CharacterActor) a).setWalkingSpeed(walkingSpeed);
        else
            EngineLogger.error("'walkingSpeed' property not supported for actor:" + a.getId());
    }
    if (uiActor != null) {
        if (a instanceof InteractiveActor) {
            if (uiActor)
                setUIActor(s, (InteractiveActor) a);
            else
                removeUIActor(s, (InteractiveActor) a);
        } else
            EngineLogger.error("'uiActor' property not supported for actor:" + a.getId());
    }
    if (talkingTextPos != null) {
        if (a instanceof CharacterActor)
            ((CharacterActor) a).setTalkingTextPos(talkingTextPos);
        else
            EngineLogger.error("'talkingTextPos' property not supported for actor:" + a.getId());
    }
    return false;
}

14 View Complete Implementation : TextAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    if (text == null)
        return false;
    float x = TextManager.POS_CENTER, y = TextManager.POS_CENTER;
    if (target != null) {
        Scene ts = target.getScene(w);
        BaseActor anchorActor = ts.getActor(target.getActorId(), true);
        x = anchorActor.getX();
        y = anchorActor.getY();
        if (anchorActor instanceof InteractiveActor) {
            Vector2 refPoint = ((InteractiveActor) anchorActor).getRefPoint();
            x += refPoint.x;
            y += refPoint.y;
        }
        if (pos != null) {
            float scale = EnginereplacedetManager.getInstance().getScale();
            x += pos.x * scale;
            y += pos.y * scale;
        }
    } else if (pos != null) {
        float scale = EnginereplacedetManager.getInstance().getScale();
        if (pos.x != TextManager.POS_CENTER)
            x = pos.x * scale;
        if (pos.y != TextManager.POS_CENTER)
            y = pos.y * scale;
    } else {
        if (type == Text.Type.SUBreplacedLE) {
            x = y = TextManager.POS_SUBreplacedLE;
        }
    }
    w.getCurrentScene().getTextManager().addText(text, x, y, queue, type, color, style, null, voiceId, null, wait ? cb : null);
    return wait;
}

14 View Complete Implementation : TintAnimAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    SpriteActor a = (SpriteActor) w.getCurrentScene().getActor(actor, true);
    SpriteTintTween t = new SpriteTintTween();
    t.start(a, repeat, count, color, speed, interpolation, wait ? cb : null);
    a.addTween(t);
    return wait;
}

13 View Complete Implementation : GotoAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    CharacterActor actor = (CharacterActor) w.getCurrentScene().getActor(this.actor, false);
    float x = actor.getX();
    float y = actor.getY();
    if (target != null) {
        BaseActor target = w.getCurrentScene().getActor(this.target, false);
        x = target.getX();
        y = target.getY();
        if (target instanceof InteractiveActor && target != actor) {
            Vector2 refPoint = ((InteractiveActor) target).getRefPoint();
            x += refPoint.x;
            y += refPoint.y;
        }
        if (pos != null) {
            float scale = EnginereplacedetManager.getInstance().getScale();
            x += pos.x * scale;
            y += pos.y * scale;
        }
    } else if (pos != null) {
        float scale = EnginereplacedetManager.getInstance().getScale();
        x = pos.x * scale;
        y = pos.y * scale;
    }
    actor.goTo(new Vector2(x, y), wait ? cb : null, ignoreWalkZone);
    return wait;
}

13 View Complete Implementation : MoveToSceneAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    final Scene s = actor.getScene(w);
    final String actorId = actor.getActorId();
    if (actorId == null) {
        // if called in a scene verb and no actor is specified, we do nothing
        EngineLogger.error(getClreplaced() + ": No actor specified");
        return false;
    }
    BaseActor a = s.getActor(actorId, false);
    s.removeActor(a);
    Scene ts = null;
    if (scene == null)
        ts = w.getCurrentScene();
    else
        ts = w.getScene(scene);
    // Dispose if s is the current scene or a cached scene and the target is not the
    // current scene or a cache scene
    if ((s == w.getCurrentScene() || w.getCachedScene(ts.getId()) != null) && !(ts == w.getCurrentScene() || w.getCachedScene(ts.getId()) != null) && a instanceof Disposable) {
        ((Disposable) a).dispose();
    }
    // We must load replacedets when the target scene is the current scene or when
    // the scene is cached.
    if ((ts == w.getCurrentScene() || w.getCachedScene(ts.getId()) != null) && !(s == w.getCurrentScene() || w.getCachedScene(s.getId()) != null) && a instanceof replacedetConsumer) {
        ((replacedetConsumer) a).loadreplacedets();
        EnginereplacedetManager.getInstance().finishLoading();
        ((replacedetConsumer) a).retrievereplacedets();
    }
    ts.addActor(a);
    return false;
}

13 View Complete Implementation : SayAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    float x = TextManager.POS_SUBreplacedLE, y = TextManager.POS_SUBreplacedLE;
    Color color = null;
    if (text == null)
        return false;
    InteractiveActor a = (InteractiveActor) w.getCurrentScene().getActor(actor, false);
    if (type == Text.Type.TALK && a != null) {
        Rectangle boundingRectangle = a.getBBox().getBoundingRectangle();
        x = boundingRectangle.getX() + boundingRectangle.getWidth() / 2;
        y = boundingRectangle.getY() + boundingRectangle.getHeight();
        color = ((CharacterActor) a).getTextColor();
        Vector2 talkingTextPos = ((CharacterActor) a).getTalkingTextPos();
        if (talkingTextPos != null) {
            x += talkingTextPos.x;
            y += talkingTextPos.y;
        }
    }
    w.getCurrentScene().getTextManager().addText(text, x, y, queue, type, color, style, a != null ? a.getId() : actor, voiceId, animation, wait ? cb : null);
    return wait;
}

12 View Complete Implementation : PositionAnimAction.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    float scale = EnginereplacedetManager.getInstance().getScale();
    BaseActor a = w.getCurrentScene().getActor(actor, true);
    float x = a.getX();
    float y = a.getY();
    if (target != null) {
        BaseActor target = w.getCurrentScene().getActor(this.target, false);
        x = target.getX();
        y = target.getY();
        if (target instanceof InteractiveActor && target != a) {
            Vector2 refPoint = ((InteractiveActor) target).getRefPoint();
            x += refPoint.x;
            y += refPoint.y;
        }
        if (pos != null) {
            x += pos.x * scale;
            y += pos.y * scale;
        }
    } else if (pos != null) {
        x = pos.x * scale;
        y = pos.y * scale;
    }
    if (!(a instanceof SpriteActor)) {
        a.setPosition(x, y);
        return false;
    } else {
        // WARNING: only spriteactors support animation
        float s;
        if (mode != null && mode == Mode.SPEED) {
            Vector2 p0 = new Vector2(a.getX(), a.getY());
            s = p0.dst(x, y) / (scale * speed);
        } else {
            s = speed;
        }
        SpritePosTween t = new SpritePosTween();
        t.start((SpriteActor) a, repeat, count, x, y, s, interpolation, wait ? cb : null);
        ((SpriteActor) a).addTween(t);
    }
    return wait;
}

12 View Complete Implementation : ScaleAnimActionXY.java
Copyright Apache License 2.0
Author : bladecoder
@Override
public boolean run(VerbRunner cb) {
    SpriteActor a = (SpriteActor) w.getCurrentScene().getActor(actor, true);
    SpriteScaleTween t = new SpriteScaleTween();
    t.start(a, repeat, count, scale.x, scale.y, speed, interpolation, wait ? cb : null);
    a.addTween(t);
    return wait;
}