package net.anxuiz.tourney.listener;
import javax.inject.Singleton;
import net.anxuiz.tourney.Tourney;
import net.anxuiz.tourney.TourneyState;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import tc.oc.pgm.events.MatchStateChangeEvent;
@Singleton
public class GameplayListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR)
public void onStateChange(MatchStateChangeEvent event) {
Tourney tourney = Tourney.get();
switch(event.getNewState()) {
case Finished:
tourney.setState(TourneyState.ENABLED_FINISHED);
break;
case Running:
tourney.setState(TourneyState.ENABLED_RUNNING);
break;
case Starting:
tourney.setState(TourneyState.ENABLED_STARTING);
break;
case Idle:
if(tourney.getMatchManager().getTeamManager().allTeamsMapped()) {
tourney.setState(TourneyState.ENABLED_WAITING_FOR_READY);
} else {
tourney.setState(TourneyState.ENABLED_WAITING_FOR_TEAMS);
}
break;
}
}
}