示例#1
0
    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);
    }
示例#2
0
    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);
    }
示例#3
0
    //设置疏散区域名称对象
    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);
    }
示例#4
0
    //设置疏散区域名称对象
    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);
    }
示例#5
0
 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 = "未绑定";
     }
 }
示例#6
0
    //绘制区域
    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);
    }
示例#7
0
    /// <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);
    }