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(); } }
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); } }
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); } } } } } }
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); } }
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; }
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); } }
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(); }
/// <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); }
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++; } } }