コード例 #1
0
ファイル: BirdData.cs プロジェクト: aAshkan/WorkInProgress
 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");
 }
コード例 #2
0
        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, "烏頭翁");
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: zhweiliu/SDKDemo
 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();
 }
コード例 #4
0
ファイル: TraceReader.cs プロジェクト: strangechu/FlyEdit
    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;
                        }
                    }
                }
            }
        }
    }