package net.alcuria.umbracraft.editor;
import net.alcuria.umbracraft.Db;
import net.alcuria.umbracraft.definitions.skill.actions.SkillActionDefinition;
import net.alcuria.umbracraft.engine.events.EventPublisher;
import com.badlogic.gdx.utils.Array;
/** Contains editor-specific singletons.
* @author Andrew Keturi */
public final class Editor {
/** A clipboard for various modules that may need copy/paste functionality.
* @author Andrew Keturi */
public static final class Clipboard {
public Array<SkillActionDefinition> skillActions;
}
private static Clipboard clipboard;
private static Db db;
private static EventPublisher publisher;
/** @return the editor's {@link Clipboard} */
public static Clipboard clipboard() {
return clipboard;
}
/** @return the {@link Db} */
public static Db db() {
return db;
}
/** @return the {@link EventPublisher} */
public static EventPublisher publisher() {
return publisher;
}
/** Reloads the db, allowing the editor's autocomplete to update after
* saving. */
public static void reloadDb() {
db = new Db();
}
public Editor() {
clipboard = new Clipboard();
db = new Db();
publisher = new EventPublisher();
}
}