Beispiel #1
0
    public void DragEnd()
    {
        MapScene m1      = manager.GetComponent <MapScene>();
        double   zoomPow = Math.Pow(2, m1.zoom) * 0.4266666666;
        Vector3  TapPos  = Input.mousePosition;

        TapPos.z = 10f;
        map.GetComponent <RectTransform>().localPosition = startMapLocalPosition + TapPos - startPos;
        m1.longitude -= (TapPos.x - startPos.x) / (2.05993652344 * zoomPow * Math.Cos(m1.latitude * (Math.PI / 180)));
        m1.latitude  -= (TapPos.y - startPos.y) / (2.05993652344 * zoomPow);
        while (m1.longitude >= 180)
        {
            m1.longitude -= 360;
        }
        while (m1.longitude < -180)
        {
            m1.longitude += 360;
        }
        //緯度経度を計算(latitudeとlongitudeに代入)
        //        targetX = (float)((longitude - longitudeMap) * 2.05993652344 * zoomPow * Math.Cos(latitude * (Math.PI / 180)));
        //        targetY = (float)((latitude - latitudeMap) * 2.05993652344 * zoomPow);
        //緯度経度をインプットフィールドに入力
        if (m1.selectNum == 0)
        {
            longitudeInput = GameObject.Find("InputFieldB"); latitudeInput = GameObject.Find("InputFieldA");
        }
        else
        {
            longitudeInput = GameObject.Find("InputField2"); latitudeInput = GameObject.Find("InputField1");
        }
        if (longitudeInput != null)
        {
            longitudeInput.GetComponent <InputField>().text = m1.longitude.ToString();
            latitudeInput.GetComponent <InputField>().text  = m1.latitude.ToString();
        }
        //マップ範囲外になりそうなら再読み込み
        m1.GetMap();
    }
Beispiel #2
0
    public void PushIventButton()
    {
        MapScene m1 = GameObject.Find("GameObject").GetComponent <MapScene>();

        m1.selectNum = buttonNum;
        this.GetComponent <Image>().color = new Color(1.0f, 1.0f, 0);
        m1.SetIvent();
        try { m1.GetMap(); }catch { }
        if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
        {
            if (m1.selectBefore >= 0)
            {
                if (m1.selectNum > 0)
                {
                    if (m1.selectNum > m1.selectBefore)
                    {
                        for (int i = m1.selectBefore; i < m1.selectNum; i++)
                        {
                            m1.multiSelect.Add(i); m1.objIB[i].GetComponent <Image>().color = new Color(1.0f, 1.0f, 0);
                        }
                    }
                    if (m1.selectNum < m1.selectBefore)
                    {
                        for (int i = m1.selectBefore; i > m1.selectNum; i--)
                        {
                            m1.multiSelect.Add(i); m1.objIB[i].GetComponent <Image>().color = new Color(1.0f, 1.0f, 0);
                        }
                    }
                    m1.selectBefore = -1;
                }
                else
                {
                    foreach (GameObject tmpObj in m1.objIB)
                    {
                        if (tmpObj != m1.objIB[m1.selectNum])
                        {
                            tmpObj.GetComponent <Image>().color = new Color(1.0f, 1.0f, 1.0f);
                        }
                    }
                }
            }
            else
            {
                if (m1.selectNum > 0)
                {
                    m1.selectBefore = m1.selectNum;
                    foreach (GameObject tmpObj in m1.objIB)
                    {
                        if (tmpObj != m1.objIB[m1.selectNum])
                        {
                            tmpObj.GetComponent <Image>().color = new Color(1.0f, 1.0f, 1.0f);
                        }
                    }
                    m1.multiSelect.Clear();
                }//スタート座標を複数選択に含まれると困るので、0は抜く。
            }
        }
        else
        {
            m1.selectBefore = -1;
            m1.multiSelect.Clear();
            foreach (GameObject tmpObj in m1.objIB)
            {
                if (tmpObj != m1.objIB[m1.selectNum])
                {
                    tmpObj.GetComponent <Image>().color = new Color(1.0f, 1.0f, 1.0f);
                }
            }
        }
    }