Beispiel #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);
    }
Beispiel #2
0
    public void SaveData()
    {
        Logger.Instance.WriteLog("保存疏散预案信息");
        EvacuationPlanDao epDao = new EvacuationPlanDao();

        List <Transform> items       = EvacuateAreaDeviceItemGrid.GetChildList();
        string           cameraIdLst = "";

        foreach (var item in items)
        {
            if (item.gameObject.GetComponent <EvacuateAreaDeviceItem>().BindStatu)
            {
                cameraIdLst += item.gameObject.GetComponent <EvacuateAreaDeviceItem>().CameraId + "|";
            }
        }
        if (cameraIdLst.Length > 0)
        {
            cameraIdLst = cameraIdLst.Remove(cameraIdLst.Length - 1);
        }
        else
        {
            cameraIdLst = " ";
        }
        epDao.Update005(areaId, cameraIdLst);
    }
Beispiel #3
0
    /// <summary>
    /// 重新加载疏散预案相关信息
    /// </summary>
    public void ReLoadEvacuationArea()
    {
        Popuplist.GetComponent <UIPopupList>().Clear();
        foreach (GameObject area in Areas)
        {
            Destroy(area);
        }
        foreach (GameObject AreaText in AreaTexts)
        {
            Destroy(AreaText);
        }
        Areas.Clear();
        AreaTexts.Clear();

        Logger.Instance.WriteLog("加载疏散预案信息");
        EvacuationPlanDao ePlanDao = new EvacuationPlanDao();
        var ePlan = ePlanDao.Select003();

        foreach (var plan in ePlan)
        {
            Popuplist.GetComponent <UIPopupList>().AddItem(plan.name);
        }
        if (ePlan.Count > 0)
        {
            Popuplist.GetComponent <UIPopupList>().value = ePlan[0].name;

            StartCoroutine(LoadEvacuationArea());
        }
    }
Beispiel #4
0
    IEnumerator LoadEvacuationArea()
    {
        Logger.Instance.WriteLog("加载疏散区域信息");
        EvacuationPlanDao   ePlanDao     = new EvacuationPlanDao();
        List <EvacuateArea> evacuateArea = ePlanDao.Select001();
        GameObject          goArea       = null;
        GameObject          areaText     = null;

        foreach (var area in evacuateArea)
        {
            goArea = DrawArea(area);
            if (goArea == null)
            {
                continue;
            }
            areaText = SetEvacuateAreaText(area);
            AdjustTextAlignment(goArea, areaText);
            DicAreaIdAndAreaGo[area.id]     = goArea;
            DicAreaIdAndAreaNameGo[area.id] = areaText;
            TweenColor tc = goArea.AddComponent <TweenColor>();
            tc.style = UITweener.Style.PingPong;
            tc.from  = new Color(0, 1, 0, 0.5f);
            tc.to    = new Color(1, 0, 0, 0.5f);
            goArea.SetActive(false);
            areaText.SetActive(false);
            Areas.Add(goArea);
            AreaTexts.Add(areaText);
        }

        yield return(null);
    }
Beispiel #5
0
    public void AddNewArea()
    {
        Logger.Instance.WriteLog("新建疏散区域");
//		if(Configure.IsOperating)
//		{
//			Logger.Instance.WriteLog("正在执行其它操作");
//			return;
//		}
        EvacuationPlanDao epDao = new EvacuationPlanDao();

        for (int i = 1; i < int.MaxValue; i++)
        {
            //如果区域名称不存在者用此名称创建一个新的区域
            if (epDao.Select005(NewAreaName + i).Count <= 0)
            {
                epDao.Insert001(NewAreaName + i, "20", " ");
                List <EvacuateArea> result = epDao.Select005(NewAreaName + i);
                if (result.Count == 1)
                {
                    AddItemToEvacuateAreaItemGrid(result[0]);
                    if (EvacuateAreaListGrid.transform.childCount == 1)
                    {
                        EvacuateAreaDevicePanel.SetActive(true);
                    }
                    EvacuateAreaListGrid.GetChild(EvacuateAreaListGrid.transform.childCount - 1).GetComponent <EditedEvacuateAreaListItem>().Selected();
                }
                break;
            }
        }
    }
Beispiel #6
0
    /// <summary>
    /// 获取疏散预案相关的摄像机id列表
    /// </summary>
    /// <returns>The correlation camera.</returns>
    /// <param name="AreaIdLst">Area identifier lst.</param>
    List <string> GetCorrelationCamera(List <string> AreaIdLst)
    {
        Logger.Instance.WriteLog("获取疏散预案相关的摄像机id列表");
        EvacuationPlanDao ePlanDao = new EvacuationPlanDao();
        //需要显示的摄像机列表
        List <string> CameraIdLst = new List <string>();

        //检索需要打开的摄像机列表
        foreach (var evacuateAreaId in AreaIdLst)
        {
            string cameraIdLst = ePlanDao.Select006(evacuateAreaId)[0].cameraList;
            if (string.IsNullOrEmpty(cameraIdLst.Trim()))
            {
                continue;
            }
            foreach (var id in cameraIdLst.Split('|'))
            {
                if (!CameraIdLst.Contains(id))
                {
                    CameraIdLst.Add(id);
                }
            }
        }
        return(CameraIdLst);
    }
Beispiel #7
0
    public void StartEvacuationPlan()
    {
        if (Popuplist.GetComponent <UIPopupList>().items.Count == 0)
        {
            Logger.Instance.WriteLog("执行疏散预案失败,没有可执行的疏散预案");
            return;
        }
        if (Popuplist.GetComponent <UIPopupList>().value.Trim() == "")
        {
            Logger.Instance.WriteLog("执行疏散预案失败,没有可执行的疏散预案");
            return;
        }

        Logger.Instance.WriteLog("开始执行疏散预案");
        if (HasEvacuationPlanExcute)
        {
            Logger.Instance.WriteLog("已经有疏散预案正在执行");
            return;
        }
        MainMenuController.canNotOpen = true;
        Popuplist.GetComponent <BoxCollider>().enabled         = false;
        EvacuationPlanBtn.GetComponent <BoxCollider>().enabled = false;
        EvacuationPlanBtnSprite        = EvacuationPlanBtn.normalSprite;
        EvacuationPlanBtn.normalSprite = EvacuationPlanBtn.pressedSprite;
        HasEvacuationPlanExcute        = true;
        EvacuationPlanDao ePlanDao     = new EvacuationPlanDao();
        EvacuatePlan      evacuatePlan = ePlanDao.Select004(Popuplist.GetComponent <UIPopupList>().value)[0];

        PrivateStartEvacuationPlan(evacuatePlan);
    }
Beispiel #8
0
    //改变名称时调用
    public void OnNameChanged(string newName)
    {
        Logger.Instance.WriteLog("更改疏散预案名称");
        if (string.IsNullOrEmpty(newName) || string.IsNullOrEmpty(newName.Trim()))
        {
            newName = evacuatePlan.name;
            areaOfPlanPanel.GetComponent <EvacuateAreaOfPlanEdit>().nameLabel.value = evacuatePlan.name;
            return;
        }
        if (evacuatePlan.name == newName)
        {
            return;
        }
        EvacuationPlanDao epDao = new EvacuationPlanDao();

        if (epDao.Select004(newName).Count > 0)
        {
            newName = evacuatePlan.name;
            areaOfPlanPanel.GetComponent <EvacuateAreaOfPlanEdit>().nameLabel.value = evacuatePlan.name;
            //WarnWindow.Instance.Show(WarnWindow.WarnType.SameName);
            return;
        }
        epDao.Update001(evacuatePlan.id, newName);
        evacuatePlan.name = newName;
        Name.text         = newName;
    }
Beispiel #9
0
    public void AddNewPlan()
    {
        Logger.Instance.WriteLog("新建疏散预案");
        EvacuationPlanDao epDao = new EvacuationPlanDao();

        for (int i = 1; i < int.MaxValue; i++)
        {
            //如果预案名称不存在者用此名称创建一个新的预案
            if (epDao.Select004(NewPlanName + i).Count <= 0)
            {
                epDao.Insert003(NewPlanName + i);
                List <EvacuatePlan> result = epDao.Select004(NewPlanName + i);
                if (result.Count == 1)
                {
                    AddItemToEvacuatePlanItemGrid(epDao.Select004(NewPlanName + i)[0]);

                    if (EvacuatePlanItemGrid.transform.childCount == 1)
                    {
                        EvacuateAreaOfPlanPanel.SetActive(true);
                    }
                    EvacuatePlanItemGrid.GetChild(EvacuatePlanItemGrid.transform.childCount - 1).GetComponent <EditedEvacuatePlanListItem>().Selected();
                }
                break;
            }
        }
    }
Beispiel #10
0
    /// <summary>
    /// 获取指定疏散预案对应的区域id列表
    /// </summary>
    /// <returns>The correlation area identifier.</returns>
    /// <param name="evacuatePlan">Evacuate plan.</param>
    List <string> GetCorrelationAreaId(EvacuatePlan evacuatePlan)
    {
        Logger.Instance.WriteLog("获取指定疏散预案对应的区域id列表");
        EvacuationPlanDao         ePlanDao  = new EvacuationPlanDao();
        List <EvacuateAreaOfPlan> eaoPlan   = ePlanDao.Select002(evacuatePlan.id);
        List <string>             areaIdLst = new List <string>();

        foreach (var eaop in eaoPlan)
        {
            areaIdLst.Add(eaop.evacuateAreaId);
        }
        return(areaIdLst);
    }
Beispiel #11
0
    //从数据库加载疏散预案数据
    IEnumerator LoadData()
    {
        Logger.Instance.WriteLog("从数据库加载疏散预案数据");
        EvacuationPlanDao   epDao     = new EvacuationPlanDao();
        List <EvacuateArea> eAreaList = epDao.Select001();

        foreach (var area in eAreaList)
        {
            AddItemToEvacuateAreaItemGrid(area);
        }
        if (eAreaList.Count > 0)
        {
            EvacuateAreaDevicePanel.SetActive(true);
            EvacuateAreaListGrid.GetChild(0).GetComponent <EditedEvacuateAreaListItem>().Selected();
        }
        yield return(null);
    }
Beispiel #12
0
    public void SaveData()
    {
        Logger.Instance.WriteLog("保存疏散预案信息");
        EvacuationPlanDao epDao = new EvacuationPlanDao();

        epDao.Delete003(planId);

        List <Transform> items = EvacuateAreaOfPlanItemGrid.GetChildList();

        foreach (var item in items)
        {
            if (item.gameObject.GetComponent <EvacuateAreaOfPlanItem>().BindStatu)
            {
                epDao.Insert002(planId, item.gameObject.GetComponent <EvacuateAreaOfPlanItem>().AreaId);
            }
        }
    }
Beispiel #13
0
    IEnumerator LoadData()
    {
        Logger.Instance.WriteLog("加载疏散预案");
        yield return(new WaitForEndOfFrame());

        EvacuationPlanDao         epDao      = new EvacuationPlanDao();
        List <EvacuateAreaOfPlan> eaoPlanLst = epDao.Select002(planId);
        List <string>             areaIdLst  = new List <string>();

        foreach (var item in eaoPlanLst)
        {
            areaIdLst.Add(item.evacuateAreaId);
        }
        Logger.Instance.WriteLog("加载疏散区域");
        List <EvacuateArea> evacuateAreaLst = epDao.Select001();

        InitEvacuateAreaOfPlanItems(evacuateAreaLst, areaIdLst);
        EvacuateAreaOfPlanItemGrid.gameObject.GetComponent <UIWidget>().UpdateAnchors();
        yield return(null);
    }
Beispiel #14
0
    //点击删除按钮时调用
    public void OnDelete()
    {
        Logger.Instance.WriteLog("删除疏散预案");

        //删除数据库中的数据
        EvacuationPlanDao epDao = new EvacuationPlanDao();

        epDao.Delete003(evacuatePlan.id);
        epDao.Delete004(evacuatePlan.id);

        //从列表中移除自身
        GetComponentInParent <UIGrid>().RemoveChild(transform);
        GetComponentInParent <UIGrid>().repositionNow = true;

        //更新列表
        GetComponentInParent <UIWidget>().enabled = false;
        GetComponentInParent <UIWidget>().enabled = true;

        //销毁对象
        Destroy(gameObject);
    }
Beispiel #15
0
    //从数据库加载疏散预案数据
    IEnumerator LoadData()
    {
        yield return(new WaitForEndOfFrame());

        EvacuationPlanDao   epDao     = new EvacuationPlanDao();
        List <EvacuatePlan> ePlanList = epDao.Select003();

        foreach (var plan in ePlanList)
        {
            AddItemToEvacuatePlanItemGrid(plan);
        }

        if (ePlanList.Count > 0)
        {
            EvacuateAreaOfPlanPanel.SetActive(true);
            EvacuatePlanItemGrid.GetChild(0).GetComponent <EditedEvacuatePlanListItem>().Selected();
        }
        else
        {
            EvacuateAreaOfPlanPanel.SetActive(false);
        }
        yield return(null);
    }