using UnityEngine;
using System.Collections;
using Leap;

public class GetData : MonoBehaviour {

	public GameObject ball_1 = null;
	public GameObject ball_2 = null;
  
	private Controller testController;
	// 宣告相關的 Leap Motion 變數。
											
	private Frame testFrame;
	private Pointable testPointable_1;
	private Pointable testPointable_2;

	void Start ()
	{
		testController = new Controller();
                // 建立一個Controller。
	}

	void Update ()
	{
		testFrame = testController.Frame();	
                // 取得當前這個 Frame 下的 Leap Motion 所得到的全部追蹤資料。
	  								
		testPointable_1 = testFrame.Hands(0).Pointable(0);
		// 取得第一隻手的第一根手指。
								
		testPointable_2 = testFrame.Hands(0).Pointable(1);
		// 取得第一隻手的第二根手指。										

		if ( testPointable_1 != null )										
		{
		// 判斷第一根手指是否有被取得且存在。
			ball_1.transform.position = 0.1f * new Vector3( testPointable_1.TipPosition.x,			
									testPointable_1.TipPosition.y,			
									-testPointable_1.TipPosition.z );		
		}													
															
		if ( testPointable_2 != null )
		{
			ball_2.transform.position = 0.1f * new Vector3( testPointable_2.TipPosition.x,
									testPointable_2.TipPosition.y,
									-testPointable_2.TipPosition.z );
		         // 將球的位置設定在第一根手指的指尖位置處。
		         //「TipPosition」是用來取得指尖位置的 API。
		         // 這裡有兩個小計算:
		         // 一個是 Leap Motion 的Z軸和 Unity的Z軸相反方向,故Z值的部分加上了一個負號作轉換;
	                 // 一個是因為 Leap Motion 的單位量對 Unity 而言太大了,故將結果縮小 10倍以配合 Unity。
									
		}
	}
}