@Override public IFuture<Void> visualize(final AddEffect result) {
final Array<TextureAtlas.AtlasRegion> regions = Config.findRegions("animation/effect-" + result.ability.name);
if (regions.size == 0)
return Future.completed();
final WorldObjectView view = visualizer.viewController.getView(result.getTarget());
final AnimationSubView subView = new AnimationSubView(0.1f, regions, Animation.PlayMode.LOOP);
subView.getActor().setPosition(1, 2);
subView.priority = 1;
view.addSubView(subView);
visualizer.viewController.world.dispatcher.add(Creature.REMOVE_EFFECT, new EventListener<EffectEvent>() {
@Override public void handle(EventType<EffectEvent> type, EffectEvent event) {
if (event.effect != result.effectToApply || event.creature != result.creatureToAddEffect)
return;
visualizer.viewController.world.dispatcher.remove(Creature.REMOVE_EFFECT, this);
SoundManager.instance.playMusicAsSound("boss-protection-loss");
subView.getActor().addAction(Actions.alpha(0, DURATION));
subView.getActor().addAction(Actions.delay(DURATION, Actions.run(new Runnable() {
@Override public void run() {
view.removeSubView(subView);
}
})));
}
});
return Future.completed();
}
AddEffectVisualizer.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:dice-heroes
作者:
评论列表
文章目录