package de.heatup.ui.actionPanel;


import java.util.Random;

import de.heatup.mapengine.MapGrid;
import de.heatup.ui.Main;

public class ActionWatcher{
	private static boolean action = false;
	private static boolean setAction = false;
	private static boolean infoText =false;
	
	public static void setAction(boolean b){
		action = b;
	}
	public static boolean getAction(){
		return action;
	}
	public static void tick(){
		//Infotext, wenn man in der n�he von einem Hardwareteil steht
		if(MapGrid.getGridCell(Main.getPlayer().getGridLocation().x, Main.getPlayer().getGridLocation().y).isTrigger() && !action && !setAction){
			infoText=true;
			if(!HardewareManipulate.getHardware(MapGrid.getGridCell(Main.getPlayer().getGridLocation().x, Main.getPlayer().getGridLocation().y).getCorrespondingHardwareToTrigger())){
				ActionControl.setTextforA();
			}else{
				ActionControl.setTextforManipulate();
			}
		}
		//Entfernt InfoText
		if(!MapGrid.getGridCell(Main.getPlayer().getGridLocation().x, Main.getPlayer().getGridLocation().y).isTrigger() && infoText){
			ActionControl.resetActionPanel();
			infoText=false;
		}
		//Leitet das Manipulieren ein, nachdem man das "A" gedr�ckt hat. Es kommt entweder Smashing oder Keysequence Text.
		if(action&&!setAction){
			setAction=true;
			ActionControl.resetActionPanel();
			ActionControl.setAction(new Random().nextInt(2)+1);
		}
		//Entfernt jeglichen Text wenn man sich von dem Hardwarest�ck entfernt, nachdem Aktion bereits eingeleitet wurde, und setzt Booleans/Counter wieder auf die Ausgangssituation
		if(!MapGrid.getGridCell(Main.getPlayer().getGridLocation().x, Main.getPlayer().getGridLocation().y).isTrigger() && setAction){
			ActionControl.resetActionPanel();
			ActionControl.resetKeyA();
			infoText=false;
			setAction=false;
			action=false;
		}
	}
}
