package de.reinhardt_karlheinz.pcc.android;

import java.util.Vector;

import javax.crypto.spec.OAEPParameterSpec;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.Toast;

public class Minecraft extends Activity {

	private static final String TAG = "Minecraft-Pl";

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.minecraft);
		Log.d(TAG, "act started");

	}

	private final TouchVector referenceVector = new TouchVector(0, 0, 0, 1);
	float lastXPos = 0;
	float lastYPos = 0;

	@Override
	public boolean onTouchEvent(MotionEvent me) {
		// TODO set intervall
		int action = me.getAction();
		float currentXPosition = me.getX();
		float currentYPosition = me.getY();

//		Log.v(TAG, "Action = " + action);
//		Log.v(TAG, "X = " + currentXPosition + "Y = " + currentYPosition);

		if (action == MotionEvent.ACTION_MOVE) {
			// calculate vector
			TouchVector vector = new TouchVector(lastXPos, currentXPosition,
					lastYPos, currentYPosition);
			double angle = vector.getDirtTo(referenceVector);
			double length = vector.getLength();
			//rechtslinksprüfung; links ist *-1; links ist wenn lastposX>currentPosX
			if(lastXPos>currentXPosition){
				angle = angle*(-1);
			}
//			Log.v(TAG, "angle: " + angle+" length: "+length);
			Log.v(TAG, "X: " + angle+" Y: "+length);

//			McGlobals.svr.sendMsg("angl("+ angle+")lnght("+length+")");
			McGlobals.svr.sendMsg("X("+ vector.getX()+")Y("+vector.getY()+")");

//			Toast.makeText(getBaseContext(), "" + angle, 10).show();

			// do something
			lastXPos = currentXPosition;
			lastYPos = currentYPosition;

		}

		if (action == MotionEvent.ACTION_UP) {
			// do something
			lastXPos = 0;
			lastYPos = 0;
		}

		return true;
	}
}
