Beispiel #1
0
 void OnGUI()
 {
     if (!m_bIsShowHomeEditor)
     {
         GUI.Box(new Rect(0.0f, 0.0f, Screen.width, 40.0f), "");
         if (GUI.Button(new Rect(5, 10, 90, 20), "HomeEditot"))
         {
             m_bIsShowHomeEditor = !m_bIsShowHomeEditor;
             HomeMapManager.getInstance().setHomeEditActive(m_bIsShowHomeEditor);
         }
     }
 }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        // 创建摄像机控制器
        CameraManager.getInstance().createCamera(CameraManager.CameraSort.PERSPECTIVE_CITYMAP);

        // 创建NormalMap
        NormalMapManager.getInstance().CreateNormalMap();

        // 创建家园地图编辑器
        HomeMapManager.getInstance().createHomeEditor();

        //CameraManager.getInstance().setCameraRotation(new Vector3(90.0f, 180.0f, 0.0f));
    }
Beispiel #3
0
    /**
     * 设置Region位置大小
     */
    public void SetGridPosition(float x, float z, float width, float height)
    {
        Vector3 tempPos    = new Vector3();
        Vector3 targetGrid = new Vector3(1f, 0.11f, 1f);

        float w = Mathf.Abs(width) + 1.0f;
        float h = Mathf.Abs(height) + 1.0f;

        m_plane.transform.localScale = new Vector3(0.1f * width, 0.1f, 0.1f * height);

        tempPos.x = HomeMapManager.getInstance().ZeroPos.x + x + 0.5f * (width) - 0.5f;
        tempPos.y = 0.05f;
        tempPos.z = HomeMapManager.getInstance().ZeroPos.z + z + +0.5f * (height) - 0.5f;

        m_plane.transform.position = tempPos;
    }
Beispiel #4
0
    void Start()
    {
        UnityEngine.Object gridRes = Resources.Load("Prefabs/Grid/uteLayer");

        m_grids = (GameObject)UnityEngine.Object.Instantiate(gridRes);

        m_grids.layer = 0;

        m_grids.name = "grids";

        m_grids.transform.SetParent(transform);

        m_grids.transform.position = HomeMapManager.getInstance().StartPos; // m_startPos;

        m_grids.transform.localScale = new Vector3(150, 0.1f, 150);

        m_grids.layer = 9;

        Renderer renderer = m_grids.GetComponent <Renderer>();

        renderer.material.mainTextureScale = new Vector2(150f, 150f);

        renderer.material.color = new Color(1.0f, 1.0f, 1.0f, 81 / 255.0f);

        m_plane       = createPlane(new Vector3(1.0f, 0.1f, 1.0f), new Color(0.4f, 1.0f, 0.4f));
        m_plane.layer = 2;
        m_plane.name  = "test";
        m_plane.transform.position = new Vector3(91f - 75f + 0.5f, 2f, 37f - 75f + 0.5f);;
        m_plane.transform.SetParent(transform);
        m_plane.layer = 9;

        //删除文件
        //DeleteFile(Application.persistentDataPath, "FileName.txt");
        //创建文件,共写入3次数据
        //      CreateFile(Application.persistentDataPath,"FileName.txt","宣雨松MOMO");
        //      CreateFile(Application.persistentDataPath,"FileName.txt","宣雨松MOMO");
        //      CreateFile(Application.persistentDataPath ,"FileName.txt","宣雨松MOMO");
        //         //文本中每行的内容
        //      ArrayList infoall;
        //      //得到文本中每一行的内容
        //      infoall = LoadFile(Application.persistentDataPath,"FileName.txt");
    }
Beispiel #5
0
    void OnGUI()
    {
        return;

        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        RaycastHit hit;

        Physics.Raycast(ray, out hit, 1000.0f);

        if (hit.collider && hit.collider.gameObject.name.Equals("grids"))
        {
            Vector3 originPos = hit.collider.gameObject.transform.position - 0.5f * hit.collider.gameObject.transform.localScale;

            Vector3 dist = new Vector3(Mathf.Floor(hit.point.x - originPos.x) + 0.5f, hit.point.y - originPos.y + 0.15f, Mathf.Floor(hit.point.z - originPos.z) + 0.5f);

            Vector3 pos = originPos + dist;
            // 用于临时计算
            Vector3 tempPos = new Vector3();

            GUI.Label(new Rect(10, 50, 100, 20), "X:" + (pos.x - HomeMapManager.getInstance().ZeroPos.x));;
            GUI.Label(new Rect(10, 80, 100, 20), "Y:" + (pos.z - HomeMapManager.getInstance().ZeroPos.z));;
            //GUI.Label(new Rect(10, 110, 100, 20), "W:" + m_selectW);
            //GUI.Label(new Rect(10, 140, 100, 20), "H:" + m_selectH);
            //tempPos = HomeMapManager.getInstance().gridToPosition(1f, 1f);
            tempPos = HomeMapManager.getInstance().pixelPositonToGamePosition(10, 10);
            GUI.Label(new Rect(10, 170, 100, 20), "Pos:" + tempPos.x);
            GUI.Label(new Rect(10, 200, 100, 20), "Pos:" + tempPos.z);
        }

//         }
//
//             if (Input.GetMouseButtonDown(0))
//             {
//                 m_clickPos = pos;
//                 //m_plane.transform.position = new Vector3(Mathf.Floor(hit.point.x) + 0.5f, 2f, Mathf.Floor(hit.point.z) + 0.5f);
//             }
//             if (Input.GetMouseButton(0))
//             {
//                 Debug.Log("MouseButton");
//                 dist = pos - m_clickPos;
//                 float w = Mathf.Abs(dist.x) + 1.0f;
//                 float h = Mathf.Abs(dist.z) + 1.0f;
//                 m_plane.transform.localScale = new Vector3(0.1f * w, 0.1f, 0.1f * h);
//
//                 tempPos = m_clickPos + 0.5f * dist;
//                 tempPos.y = originPos.y;
//                 m_plane.transform.position = tempPos;
//
//             }
//             if (Input.GetMouseButtonUp(0))
//             {
//                 tempPos = m_plane.transform.position - m_zeroPos;
//                 Debug.Log("MouseButtonUp" + tempPos + "_" + m_plane.transform.localScale);
//
//                 float w = Mathf.Floor(m_plane.transform.localScale.x * 10);
//                 float h = Mathf.Floor(m_plane.transform.localScale.z * 10);
//                 Vector2 p = new Vector2();
//
//                 if (w % 2 == 0)
//                 {
//                     p.x = Mathf.Floor(tempPos.x) + Mathf.Floor(w / 2);
//                 }
//                 else
//                 {
//                     p.x = tempPos.x + Mathf.Floor(w / 2);
//                 }
//
//                 if (h % 2 == 0)
//                 {
//                     p.y = Mathf.Floor(tempPos.z) + Mathf.Floor(h / 2);
//                 }
//                 else
//                 {
//                     p.y = tempPos.z + Mathf.Floor(h / 2);
//                 }
    }
Beispiel #6
0
    // Update is called once per frame
    void Update()
    {
        // HomeMapEditor
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        RaycastHit hit;

        // show mouse position & grid infomation


        if (Physics.Raycast(ray, out hit, 1000.0f))
        {
            if (hit.collider && hit.collider.gameObject.name.Equals("grids"))
            {
                Vector3 originPos = hit.collider.gameObject.transform.position - 0.5f * hit.collider.gameObject.transform.localScale;

                Vector3 dist = new Vector3(Mathf.Floor(hit.point.x - originPos.x) + 0.5f, hit.point.y - originPos.y + 0.15f, Mathf.Floor(hit.point.z - originPos.z) + 0.5f);

                Vector3 pos = originPos + dist;
                // 用于临时计算
                Vector3 tempPos = new Vector3();

                if (Input.GetMouseButtonDown(0))
                {
                    m_clickPos = pos;
                    //m_plane.transform.position = new Vector3(Mathf.Floor(hit.point.x) + 0.5f, 2f, Mathf.Floor(hit.point.z) + 0.5f);
                    Vector3 targetGrid = new Vector3(1f, 0.11f, 1f);
                    Debug.Log("MouseButtonDown");
                }
                if (Input.GetMouseButton(0))
                {
                    dist = pos - m_clickPos;
                    float w = Mathf.Abs(dist.x) + 1.0f;
                    float h = Mathf.Abs(dist.z) + 1.0f;
                    Debug.Log("MouseButton" + w + " " + h);
                    m_plane.transform.localScale = new Vector3(0.1f * w, 0.1f, 0.1f * h);

                    tempPos   = m_clickPos + 0.5f * dist;
                    tempPos.y = 0.05f; // originPos.y;
                    m_plane.transform.position = tempPos;
                }
                if (Input.GetMouseButtonUp(0))
                {
                    tempPos = m_plane.transform.position - HomeMapManager.getInstance().ZeroPos; // m_zeroPos;
                    Debug.Log("MouseButtonUp" + tempPos + "_" + m_plane.transform.localScale);

                    m_selectW = Mathf.Floor(m_plane.transform.localScale.x * 10);
                    m_selectH = Mathf.Floor(m_plane.transform.localScale.z * 10);

                    // 测试edit region
                    HomeMapEditor.Instance.RegionX      = (m_clickPos.x - HomeMapManager.getInstance().ZeroPos.x).ToString();
                    HomeMapEditor.Instance.RegionY      = (m_clickPos.z - HomeMapManager.getInstance().ZeroPos.z).ToString();
                    HomeMapEditor.Instance.RegionWidth  = m_selectW.ToString();
                    HomeMapEditor.Instance.RegionHeight = m_selectH.ToString();

                    Vector2 p = new Vector2();

                    if (m_selectW % 2 == 0)
                    {
                        p.x = Mathf.Floor(tempPos.x) + Mathf.Floor(m_selectW / 2);
                    }
                    else
                    {
                        p.x = tempPos.x + Mathf.Floor(m_selectW / 2);
                    }

                    if (m_selectH % 2 == 0)
                    {
                        p.y = Mathf.Floor(tempPos.z) + Mathf.Floor(m_selectH / 2);
                    }
                    else
                    {
                        p.y = tempPos.z + Mathf.Floor(m_selectH / 2);
                    }

                    //Vector2[] datas = new Vector2[22500] ;
                    //Byte[] mapdata = new Byte[150*150];
                    //List<Vector2> datas = new List<Vector2>();
                    Vector2 point = new Vector2();
                    int     index;
                    for (int i = 0; i < m_selectW; i++)
                    {
                        for (int j = 0; j < m_selectH; j++)
                        {
                            point.x = p.x - i;
                            point.y = p.y - j;
                            MapDataManager.getInstance().GridDatas.Add(point);
                            index = (int)(p.y * 150 + p.x);
                            MapDataManager.getInstance().MapCharData[index] = '1';
                        }
                    }
                    //Debug.Log("Count:" + datas.Count + datas.ToString());
                    //char[] tempchar = Encoding.ASCII.GetChars(mapdata);
                    //string tempstring = Encoding.UTF8.GetString(mapdata);
                    //string da = tempchar.ToString() ;
                    //MapDataManager.getInstance().CreateFile(Application.persistentDataPath, "FileName.txt", "" + tempstring);
                    //da = null;
                    //m_plane.transform.position ;
                    //m_plane.transform.localScale;
                }
            }
        }
    }
Beispiel #7
0
    void OnGUI()
    {
        GUI.Box(new Rect(0.0f, 0.0f, Screen.width, 40.0f), "");

        if (GUI.Button(new Rect(0, 10, 80, 20), "AerialView"))
        {
            //m_isShowSetting = !m_isShowSetting;
            m_isAerialView = !m_isAerialView;
            if (m_isAerialView)
            {
                CameraManager.getInstance().setCameraRotation(new Vector3(90.0f, 180.0f, 0.0f));
                //CameraManager.getInstance().setCameraAerialView(new Vector3(90.0f, 180.0f, 0.0f));
                //CameraManager.getInstance().setCameraAerialView(m_isAerialView);  88 76 33
            }
            else
            {
                CameraManager.getInstance().setCameraRotation(new Vector3(19.8f, -135.0f, 0.0f));
                //CameraManager.getInstance().setCameraAerialView(m_isAerialView);
            }
        }
        if (GUI.Button(new Rect(90, 10, 80, 20), "EditRegion"))
        {
            m_isEditRegion = !m_isEditRegion;
        }
        if (GUI.Button(new Rect(180, 10, 80, 20), "SaveData"))
        {
            MapDataManager.getInstance().SaveMap();
        }
        if (GUI.Button(new Rect(270, 10, 20, 20), "X"))
        {
            m_isCloseed = true;
            HomeMapManager.getInstance().setHomeEditActive(false);
            GameLaunch.Instance.ShowHomeEditor = false;
        }


        if (m_isShowSetting)
        {
            /*m_isShowFreedomRegion = */
            GUI.Toggle(new Rect(0, 40, 150, 20), /*m_isShowFreedomRegion*/ false, " Freedom Region");

            /*m_isShowFixRegion = */
            GUI.Toggle(new Rect(0, 65, 150, 20), /*m_isShowFixRegion*/ false, " Fix Region");

            /*m_isShowObstacle = */
            GUI.Toggle(new Rect(0, 90, 150, 20), /*m_isShowObstacle*/ false, " Obstacle");

            /*m_isShowBattleRegion = */
            GUI.Toggle(new Rect(0, 115, 150, 20), /*m_isShowBattleRegion*/ false, " Battle Region");

            //m_isAerialView = GUI.Toggle(new Rect(0, 140, 150, 20), m_isAerialView, " AerialView");
        }



        if (m_isEditRegion)
        {
            GUI.Box(new Rect(90.0f, 50.0f, 120, 140.0f), "");
            GUI.Label(new Rect(100, 55, 50, 20), "X:");
            m_regionX = GUI.TextField(new Rect(150, 55, 50, 20), m_regionX);
            GUI.Label(new Rect(100, 80, 50, 20), "Y:");
            m_regionY = GUI.TextField(new Rect(150, 80, 50, 20), m_regionY);
            GUI.Label(new Rect(100, 105, 50, 20), "Width:");
            m_regionWidth = GUI.TextField(new Rect(150, 105, 50, 20), m_regionWidth);
            GUI.Label(new Rect(100, 130, 50, 20), "Height:");
            m_regionHeight = GUI.TextField(new Rect(150, 130, 50, 20), m_regionHeight);

            if (GUI.Button(new Rect(95, 160, 60, 20), "Refresh"))
            {
                GridControllor.Instance.SetGridPosition(float.Parse(m_regionX), float.Parse(m_regionY), float.Parse(m_regionWidth), float.Parse(m_regionHeight));
            }
            if (GUI.Button(new Rect(160, 160, 40, 20), "Add"))
            {
                //HomeMapManager.getInstance().CreateRegion("1", m_regionX, m_regionY, m_regionWidth, m_regionHeight);
                //MapDataManager.getInstance().InsertRegionXML("1", "HomeRegion", m_regionX, m_regionY, m_regionWidth, m_regionHeight);
                //MapDataManager.getInstance().UpdateRegionXML("1", "HomeRegion-", m_regionX, m_regionY, m_regionWidth, m_regionHeight);
                MapDataManager.getInstance().SaveJsonData();
            }
        }
    }
Beispiel #8
0
 private void InitHomeEditor()
 {
     HomeMapManager.getInstance().createHomeEditor();
 }