void Start() { inv = GameObject.Find("BirdInventory").GetComponent <BirdInventory> (); //get BirdInventory script tooltip = inv.GetComponent <BirdInfo> (); //normal = Resources.Load<Sprite>("Assets/Resources/Sprites/UI/emptyItemBox"); //selectedSprite = Resources.Load<Sprite>("Assets/Resources/Sprites/UI/popupTutorialTextBox"); }
static void TestSingleQuery() { ISDKClient client = Client.Create(new Uri(apiurl)); BirdInfo result = null; // test-1 result = client.GetBirdInfo("40298"); Assert.NotNull(result); Assert.AreEqual <string>(result.BirdId, "B0364"); Assert.AreEqual <string>(result.BirdNo, "40298"); Assert.AreEqual <string>(result.CommonName, "灰頭花翼"); // test-2 result = client.GetBirdInfo("40294"); Assert.NotNull(result); Assert.AreEqual <string>(result.BirdId, "B0286"); Assert.AreEqual <string>(result.BirdNo, "40294"); Assert.AreEqual <string>(result.CommonName, "中杜鵑"); // test-3 result = client.GetBirdInfo("39350"); Assert.NotNull(result); Assert.AreEqual <string>(result.BirdId, "B0382"); Assert.AreEqual <string>(result.BirdNo, "39350"); Assert.AreEqual <string>(result.CommonName, "烏頭翁"); }
static void ShowBirdInfo(BirdInfo birdinfo) { Console.WriteLine($"[ID: {birdinfo.BirdId}] -------------------------------------------------------------"); Console.WriteLine($" 流水號: {birdinfo.BirdNo}"); Console.WriteLine($" 調查日期: {birdinfo.SurveyDate}"); Console.WriteLine($" 調查地點: {birdinfo.Location}"); Console.WriteLine($" 經度/緯度: {birdinfo.WGS84Lon}/{birdinfo.WGS84Lat}"); Console.WriteLine($" 科名: {birdinfo.FamilyName}"); Console.WriteLine($" 學名: {birdinfo.ScienceName}"); Console.WriteLine($"中研院學名代碼: {birdinfo.TaiBNETCode}"); Console.WriteLine($" 鳥中名: {birdinfo.CommonName}"); Console.WriteLine($" 數量: {birdinfo.Quantity}"); Console.WriteLine($" 鳥名代碼: {birdinfo.BirdId}"); Console.WriteLine($" 調查站碼: {birdinfo.SiteId}"); Console.WriteLine(); Console.WriteLine(); }
public void InitBirdInfos() { // init first frame for (int i = 0; i < TRACE_MAX; i++) { List <Vector3> positions = new List <Vector3>(); List <Vector3> directions = new List <Vector3>(); List <float> distances = new List <float>(); List <Vector3> rays = new List <Vector3>(); float[] data = tracePositions[i][0]; float d = UnityEngine.Random.Range(8.0f, 12.0f); // default distance Vector3 pos = ScreenToWorld(data[1], data[2], 20.0f); Vector3 ray = ScreenToRay(data[1], data[2]); positions.Insert(0, pos); directions.Insert(0, Vector3.zero); distances.Insert(0, d); rays.Insert(0, ray); BirdInfo info = new BirdInfo(positions, directions, distances, rays); birdInfos.Insert(i, info); } // iterate all frames for (int j = 1; j < FRAME_MAX; j++) { for (int i = 0; i < TRACE_MAX; i++) { //Debug.Log("iterating i = " + i + " j = " + j); float[] data = tracePositions[i][j]; float x = data[1]; float y = data[2]; float pre_d = GetBirdDistance(i, j - 1); Vector3 ray = ScreenToRay(x, y); Vector3 seperation = CalcSeparation(i, j - 1); Vector3 pos = ScreenToWorld(x, y, pre_d); Vector3 camera_pos = main_camera.transform.position; Vector3 v = (pos - camera_pos).normalized; Vector3 projected_v = Vector3.Project(seperation, v); pos += projected_v; Vector3 heading = pos - camera_pos; float d = Vector3.Dot(heading, main_camera.transform.forward); birdInfos[i].positions.Insert(j, pos); birdInfos[i].directions.Insert(j, Vector3.zero); birdInfos[i].distances.Insert(j, d); birdInfos[i].rays.Insert(j, ray); } } // set directions for (int i = 0; i < TRACE_MAX; i++) { for (int j = 1; j < FRAME_MAX - 1; j++) { Vector3 pre_pos = GetBirdPosition(i, j - 1); Vector3 pos = GetBirdPosition(i, j); Vector3 pre_dir = GetBirdDirection(i, j - 1); Vector3 v = pos - pre_pos; Vector3 direction = Vector3.Slerp(pre_dir, v, 0.1f); birdInfos[i].directions[j] = direction; } } // fill empty directions for (int i = 0; i < TRACE_MAX; i++) { for (int j = 0; j < FRAME_MAX - 1; j++) { if (birdInfos[i].directions[j] == Vector3.zero) { for (int k = j + 1; k < FRAME_MAX - 1; k++) { if (birdInfos[i].directions[k].magnitude < Mathf.Epsilon) { birdInfos[i].directions[j] = birdInfos[i].directions[k]; break; } } } } } }