package joshie.progression.gui.fields; import joshie.progression.api.IFieldRegistry; import joshie.progression.api.criteria.IField; import joshie.progression.api.criteria.IRewardProvider; import joshie.progression.api.gui.Position; public class FieldRegistry implements IFieldRegistry { @Override public IField getItemPreview(Object provider, String string, int x, int y, float scale) { return new ItemFilterFieldPreview(string, provider, x, y, scale); } @Override public IField getItem(Object provider, String string, int x, int y, float scale) { return new ItemField(string, provider, x, y, scale); } @Override public IField getFilter(Object provider, String name) { return new ItemFilterField(name, provider); } @Override public IField getBoolean(Object provider, String name) { return new BooleanField(name, provider); } @Override public IField getToggleBoolean(Object provider, String booleanName, String stringName) { Position position = provider instanceof IRewardProvider ? Position.TOP : Position.BOTTOM; return new TextFieldHideable(stringName, provider, position).setBooleanField(new BooleanFieldHideable(booleanName, provider)); } @Override public IField getText(Object provider, String name) { Position position = provider instanceof IRewardProvider ? Position.TOP : Position.BOTTOM; return new TextField(name, provider, position); } }