示例#1
0
    void drawButton()
    {
        int nCol, nRaw;

        string[] list = new string[] { "table", "highStove", "alloyCabinet", "cabinet", "electricBox",
                                       "electricCabinet", "oxygenBottle", "general_floor", "ground" };

        for (int i = 0; i < list.Length; i++)
        {
            nRaw = i % 5;
            nCol = (i / 5);
            Texture2D texture = new Texture2D(50, 50);
            string    str     = "Assets/Resources/Main/Image/build/" + list[i] + ".png";
            texture = (Texture2D)AssetDatabase.LoadAssetAtPath(str, typeof(Texture2D));
            if (GUI.Button(new Rect(5 + nRaw * 80, 130 + 60 * nCol, 50, 50), texture))
            {
                if (list[i] == "general_floor" || list[i] == "ground")
                {
                    createFloor(list[i]);
                }
                else
                {
                    m_buildmanager.CreateHouseObject(list[i], MapBasicData.GetRandId(), new Vector2(0, 0));
                }
            }
        }

        if (GUI.Button(new Rect(350, 60, 50, 30), "保存坐标"))
        {
            MapBasicData.LoadHouseData(m_mapData.GTDList);
            //AssetDatabase.SaveAssets();
        }
    }
示例#2
0
    public void ChangeObjSort(Vector2[] vc_list, Vector2 vec, int nId)
    {
        for (int i = 0; i < m_giList.Count; i++)
        {
            if (nId == m_giList[i].nID)
            {
                GoodsInfo gi = m_giList[i];
                gi.mesh_list  = vc_list;
                gi.hypeLength = GetHypeLength(vc_list[0]);
                gi.vec        = vec;
                m_giList[i]   = gi;
                break;
            }
        }

        houseLayerSort();
        m_gtdList.Clear();

        for (int i = 0; i < m_giList.Count; i++)
        {
            m_giList[i].obj.transform.GetComponent <Renderer>().sortingOrder = i;
            GoodsTempData gtd = MapBasicData.GetGoodsTempData(m_giList[i].nID, m_giList[i].name, m_giList[i].vec);
            m_gtdList.Add(gtd);
        }
    }
示例#3
0
 void houseLayerSort()
 {
     for (int i = 0; i < m_giList.Count; i++)
     {
         for (int j = i + 1; j < m_giList.Count; j++)
         {
             if (m_giList[i].hypeLength > m_giList[j].hypeLength)
             {
                 if (m_giList[i].mesh_list[0].y < m_giList[j].mesh_list[0].y)
                 {
                     swap(i, j);
                 }
             }
             else
             {
                 if (m_giList[i].mesh_list[0].y <= m_giList[j].mesh_list[0].y)
                 {
                     HouseData hd = MapBasicData.GetHouseData(m_giList[i].gt);
                     float     w  = hd.width;
                     float     h  = hd.height - 0.4f;
                     if (m_giList[i].mesh_list[0].x + w >= m_giList[j].mesh_list[0].x &&
                         m_giList[i].mesh_list[0].y + h >= m_giList[j].mesh_list[0].y)
                     {
                         swap(i, j);
                     }
                 }
             }
         }
     }
 }
示例#4
0
 void drawHouse()
 {
     m_gtdList = MapBasicData.ReadHouseData();
     for (int i = 0; i < m_gtdList.Count; i++)
     {
         m_buildManager.CreateHouseObject(m_gtdList[i].name, m_gtdList[i].nId, m_gtdList[i].vec);
     }
 }
示例#5
0
    public void changeFloorType(int nIndex, int ft)
    {
        GameObject obj = Instantiate(Resources.Load(MapBasicData.GetFloorRes(ft))) as GameObject;

        obj.transform.SetParent(m_parent.transform, true);
        obj.transform.position = m_floorObjList[nIndex].transform.position;
        obj.transform.GetComponent <Renderer>().sortingOrder = 0;
        DestroyImmediate(m_floorObjList[nIndex]);
        m_floorObjList[nIndex] = obj;
        m_ftList[nIndex]       = ft;
    }
示例#6
0
    void initData(mapData md)
    {
        if (md.GTDList.Count == 0)
        {
            List <GoodsTempData> gtdList = MapBasicData.ReadHouseData();
            for (int i = 0; i < gtdList.Count; i++)
            {
                md.GTDList.Add(gtdList[i]);
            }
        }

        if (md.m_ftList.Count == 0)
        {
            MapBasicData.ReadFloorFile(md.m_ftList);
        }
    }
示例#7
0
    void DrawFloor()
    {
        int nNum = 0;

        for (int i = 0; i < m_col; i++)
        {
            for (int j = 0; j < m_raw; j++)
            {
                string     str = MapBasicData.GetFloorRes(m_mapData.m_ftList[nNum]);
                GameObject obj = Instantiate(Resources.Load(str)) as GameObject;
                obj.transform.SetParent(m_buildEdit.transform, true);
                m_floorObjList.Add(obj);
                nNum++;
            }
        }
        setMapPos();
    }
示例#8
0
    /// <summary>
    /// 初始化数据
    /// @param HouseData 房子的基本数据
    /// @param GoodsTYpe 建筑的基本类型
    /// @param name      建筑名字
    /// @param nId       建筑的id
    /// </summary>
    public void InitData(string name, int id, BuildManager bm = null)
    {
        gt = MapBasicData.GetHouseType(name);
        HouseData hd = MapBasicData.GetHouseData(gt);

        raw       = hd.raw;
        col       = hd.col;
        width     = hd.width;
        height    = hd.height;
        oldMesh   = hd.srcMesh;
        mesh_list = new Vector2[raw * col];
        obj_list  = new GameObject[raw * col];
        nId       = id;

        InitMeshList();
        m_buildManager = bm;
        transform.GetComponent <Renderer>().sortingOrder = m_buildManager.GoodsList.Count;
        m_buildManager.AddGoods(nId, gt, gameObject, mesh_list, oldMesh, name);
    }
示例#9
0
        void drawFloor(Vector2 vec)
        {
            MapBasicData.ReadFloorFile(m_ftList);

            int     num  = 0;
            Vector2 temp = Camera.main.ScreenToWorldPoint(vec);

            for (int i = 0; i < m_nCol; i++)
            {
                for (int j = 0; j < m_nRaw; j++)
                {
                    string     str = MapBasicData.GetFloorRes(m_ftList[num]);
                    GameObject obj = Instantiate(Resources.Load(str)) as GameObject;
                    obj.transform.SetParent(m_build.transform, true);
                    obj.transform.position     = new Vector2(temp.x + j * 0.355f + i * 0.355f, temp.y + j * 0.205f - i * 0.205f);
                    MapBasicData.map_list[num] = obj.transform.position;
                    num++;
                }
            }
        }