package com.github.czyzby.lml.parser.impl.attribute.group; import com.badlogic.gdx.scenes.scene2d.Group; import com.github.czyzby.lml.parser.LmlParser; import com.github.czyzby.lml.parser.action.ActorConsumer; import com.github.czyzby.lml.parser.tag.LmlAttribute; import com.github.czyzby.lml.parser.tag.LmlTag; import com.github.czyzby.lml.util.LmlUtilities; /** See {@link Group#setDebug(boolean, boolean)}. Second method argument is always true, so this method sets debug for * all children; for non-recursive debug, use default debug attribute. Mapped to "debugRecursively". * * @author MJ */ public class DebugRecursivelyLmlAttribute implements LmlAttribute<Group> { @Override public Class<Group> getHandledType() { return Group.class; } @Override public void process(final LmlParser parser, final LmlTag tag, final Group actor, final String rawAttributeData) { final boolean debugRecursively = parser.parseBoolean(rawAttributeData, actor); LmlUtilities.getLmlUserObject(actor).addOnCloseAction(new ActorConsumer<Void, Object>() { @Override public Void consume(Object widget) { actor.setDebug(debugRecursively, true); return null; } }); } }