/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.blocks.signals;
import mods.railcraft.common.gui.buttons.IButtonTextureSet;
import mods.railcraft.common.gui.buttons.IMultiButtonState;
import mods.railcraft.common.gui.buttons.MultiButtonController;
import mods.railcraft.common.gui.buttons.StandardButtonTextureSets;
import mods.railcraft.common.gui.tooltips.ToolTip;
import mods.railcraft.common.plugins.forge.LocalizationPlugin;
import mods.railcraft.common.gui.buttons.*;
import mods.railcraft.common.util.network.IGuiReturnHandler;
import net.minecraft.inventory.IInventory;
/**
*
* @author CovertJaguar <http://www.railcraft.info/>
*/
public interface IRouter extends ISecure<LockButtonState>, IGuiReturnHandler {
public enum RoutingButtonState implements IMultiButtonState {
PUBLIC("railcraft.gui.routing.type.public"),
PRIVATE("railcraft.gui.routing.type.private");
private final String labelTag;
private RoutingButtonState(String labelTag) {
this.labelTag = labelTag;
}
@Override
public String getLabel() {
return LocalizationPlugin.translate(labelTag);
}
@Override
public IButtonTextureSet getTextureSet() {
return StandardButtonTextureSets.SMALL_BUTTON;
}
@Override
public ToolTip getToolTip() {
return null;
}
}
MultiButtonController<RoutingButtonState> getRoutingController();
IInventory getInventory();
void resetLogic();
RoutingLogic getLogic();
}