package me.desht.scrollingmenusign.views.action;
import me.desht.scrollingmenusign.enums.SMSMenuAction;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public abstract class ViewUpdateAction {
// private final SMSMenuAction action;
private final CommandSender sender;
public ViewUpdateAction(CommandSender sender) {
// this.action = action;
this.sender = sender;
}
public ViewUpdateAction() {
// this.action = action;
this.sender = null;
}
//
// public SMSMenuAction getAction() {
// return action;
// }
public CommandSender getSender() {
return sender;
}
public static ViewUpdateAction getAction(Object o) {
if (o instanceof SMSMenuAction) {
switch ((SMSMenuAction) o) {
// return new ViewUpdateAction((SMSMenuAction) o, null);
case SCROLLED: return new ScrollAction(null, ScrollAction.ScrollDirection.UNKNOWN);
case REPAINT: return new RepaintAction();
default: return null;
}
} else if (o instanceof ViewUpdateAction) {
return (ViewUpdateAction) o;
} else {
throw new IllegalArgumentException("Expecting a ViewUpdateAction or SMSMenuAction object");
}
}
}