IEnumerator LoadData() { Logger.Instance.WriteLog("加载化疏散区域信息"); EvacuationPlanDao epDao = new EvacuationPlanDao(); List <EvacuateArea> eAreas = epDao.Select006(areaId); if (eAreas.Count <= 0) { yield return(null); } else { EvacuateArea area = eAreas[0]; nameLabel.value = area.name; List <string> cameraIdLst = new List <string>(); if (!string.IsNullOrEmpty(area.cameraList.Trim())) { cameraIdLst.AddRange(area.cameraList.Split('|')); } Logger.Instance.WriteLog("加载化设备信息"); DeviceDao dDao = new DeviceDao(); dDao.Select001(); List <DeviceInfo> deviceInfoLst = dDao.Result; InitEvacuateAreaDeviceItems(deviceInfoLst, cameraIdLst); EvacuateAreaDeviceItemGrid.gameObject.GetComponent <UIWidget>().UpdateAnchors(); } yield return(null); }
private void AddItemToEvacuateAreaItemGrid(EvacuateArea area) { GameObject go = GameObject.Instantiate(EditedEvacuateAreaListItemPrefab) as GameObject; EvacuateAreaListGrid.AddChild(go.transform); go.transform.localScale = new Vector3(1, 1, 1); go.GetComponent <EditedEvacuateAreaListItem>().Init(area, EvacuateAreaDevicePanel); }
//设置疏散区域名称对象 private GameObject SetEvacuateAreaText(EvacuateArea evacuateArea) { Logger.Instance.WriteLog("设置疏散区域名称对象"); GameObject NameText = Instantiate(AreaNamePrefab) as GameObject; centerPos.y = 0.2f; NameText.transform.position = centerPos; NameText.transform.parent = GameObject.Find("SceneUI").transform; NameText.transform.localRotation = Quaternion.identity; NameText.GetComponent <Text>().text = evacuateArea.name; NameText.GetComponent <Text>().fontSize = int.Parse(evacuateArea.fontSize); return(NameText); }
//设置疏散区域名称对象 private GameObject SetEvacuateAreaText(EvacuateArea evacuateArea, GameObject GOArea) { Logger.Instance.WriteLog("设置疏散区域名称对象"); if (GOArea == null) { return(null); } GameObject NameText = Instantiate(UIText) as GameObject; centerPos.y = 0.2f; NameText.transform.position = centerPos; NameText.transform.parent = NameTexts.transform; NameText.transform.localRotation = Quaternion.identity; NameText.GetComponent <Text>().text = evacuateArea.name; NameText.GetComponent <Text>().fontSize = int.Parse(evacuateArea.fontSize); return(NameText); }
public void Init(EvacuateArea _evacuateArea, GameObject _EvacuateAreaGo, Vector3 _EvacuateAreaGoPosition, bool _selected) { evacuateArea = _evacuateArea; EvacuateAreaGo = _EvacuateAreaGo; EvacuateAreaGoPosition = _EvacuateAreaGoPosition; areaId = evacuateArea.id; No.text = evacuateArea.id; Name.text = evacuateArea.name; normalSprite = BindStatuBtn.normalSprite; if (_selected) { BindStatuText.text = "已绑定"; BindStatuBtn.normalSprite = BindStatuBtn.pressedSprite; } else { BindStatuText.text = "未绑定"; } }
//绘制区域 private GameObject DrawArea(EvacuateArea evacuateArea) { Logger.Instance.WriteLog("绘制疏散区域"); if (string.IsNullOrEmpty(evacuateArea.points.Trim())) { return(null); } string[] point = evacuateArea.points.Split('|'); Vector3[] pts = new Vector3[point.Length / 3]; centerPos = Vector3.zero; for (int i = 0; i < pts.Length; i++) { pts[i] = new Vector3(float.Parse(point[i * 3]), float.Parse(point[i * 3 + 1]), float.Parse(point[i * 3 + 2])); centerPos += pts[i]; } centerPos /= pts.Length; int[] triangles = new int[pts.Length]; for (int i = 0; i < triangles.Length; i += 3) { triangles[i] = i; triangles[i + 1] = i + 2; triangles[i + 2] = i + 1; } GameObject GOArea = new GameObject(); GOArea.AddComponent <MeshCollider> (); MeshRenderer meshrend = GOArea.AddComponent <MeshRenderer>(); meshrend.material.shader = Shader.Find("Transparent/Diffuse"); meshrend.material.SetColor("_MainColor", new Color(0, 1, 0, 0.2f)); MeshFilter meshFilter = GOArea.AddComponent <MeshFilter>(); meshFilter.mesh.vertices = pts; meshFilter.mesh.triangles = triangles; meshFilter.mesh.RecalculateNormals(); GOArea.transform.position = new Vector3(0, 0.3f, 0); GOArea.name = evacuateArea.name; return(GOArea); }
/// <summary> /// 检索所有的疏散区域 /// </summary> public List <EvacuateArea> Select001() { List <EvacuateArea> Result = new List <EvacuateArea>(); string sql = "select ID,NAME,FONTSIZE,POINTS,CAMERALIST from CYGJ_EVACUATE_AREA order by ID asc"; DataSet ds = OdbcDataManager.Instance.odbcOra.ReturnDataSet(sql, "CYGJ_EVACUATE_AREA"); if (ds.Tables.Count > 0) { DataTable dt = ds.Tables[0]; foreach (DataRow dr in dt.Rows) { EvacuateArea info = new EvacuateArea(); info.id = dr["ID"].ToString(); info.name = dr["NAME"].ToString(); info.fontSize = dr["FONTSIZE"].ToString(); info.points = dr["POINTS"].ToString(); info.cameraList = dr["CAMERALIST"].ToString(); Result.Add(info); } } Logger.Instance.WriteLog("向数据库检索所有的疏散区域"); return(Result); }