Ejemplo n.º 1
0
    /// <summary>
    /// 设置设备信息
    /// </summary>
    /// <param name="devList"></param>
    public void SetDevInfo(List <DevNode> devList)
    {
        Window.SetActive(true);
        ClearDevList();
        int normalDev = 0;
        int cameraDev = 0;
        int doorDev   = 0;
        int borderDev = 0;
        int fireDev   = 0;

        foreach (DevNode dev in devList)
        {
            if (dev != null && dev.Info != null)
            {
                string typeCode = dev.Info.TypeCode.ToString();
                if (TypeCodeHelper.IsCamera(typeCode))
                {
                    cameraDev++;
                    cameraDevTemp.Add(dev.gameObject);
                }
                else if (TypeCodeHelper.IsDoorAccess(typeCode))
                {
                    doorDev++;
                    doorDevTemp.Add(dev.gameObject);
                }
                else if (TypeCodeHelper.IsBorderAlarmDev(typeCode))
                {
                    borderDev++;
                    borderDevTemp.Add(dev.gameObject);
                }
                else if (TypeCodeHelper.IsAlarmDev(typeCode))
                {
                    fireDev++;
                    fireDevTemp.Add(dev.gameObject);
                }
                else
                {
                    normalDev++;
                    normalDevTemp.Add(dev.gameObject);
                }
            }
        }
        SetSelections(normalDev, cameraDev, doorDev, borderDev, fireDev);
        NormalDevText.text  = normalDev.ToString();
        CameraDevText.text  = cameraDev.ToString();
        DoorAccessText.text = doorDev.ToString();
        BorderDevText.text  = borderDev.ToString();
        FireAlarmText.text  = fireDev.ToString();
    }
    private DeviceAlarmFollowUI CreateAlarmFollowUI(DevNode alarmDev, DepNode dep, DeviceAlarm alarmInfo)
    {
        try
        {
            string depNodeId = dep is RoomController?dep.ParentNode.NodeID.ToString() : dep.NodeID.ToString();

            string     groupName = string.Format("{0}{1}", AlarmDevUIName, depNodeId);
            string     typeCode  = alarmDev.Info.TypeCode.ToString();
            GameObject followObj = null;
            if (TypeCodeHelper.IsLocationDev(typeCode))
            {
                followObj = CreateFollowTarget(ArchorAlarmUI, alarmDev.gameObject, groupName);
            }
            else if (TypeCodeHelper.IsCamera(typeCode))
            {
                followObj = CreateFollowTarget(CameraAlarmUI, alarmDev.gameObject, groupName);
            }
            else if (TypeCodeHelper.IsDoorAccess(typeCode))
            {
                followObj = CreateFollowTarget(DoorAccessAlarmUI, alarmDev.gameObject, groupName);
            }
            else
            {
                followObj = CreateFollowTarget(BorderDevUIPrefab, alarmDev.gameObject, groupName);
            }
            if (followObj == null)
            {
                return(null);
            }
            DeviceAlarmFollowUI followUI = followObj.GetComponent <DeviceAlarmFollowUI>();
            if (followUI != null)
            {
                followUI.InitInfo(alarmInfo);
            }
            return(followUI);
        }
        catch (Exception ex)
        {
            Log.Error("FollowTargetManage.CreateAlarmDevFollowUI", ex.ToString());
            return(null);
        }
    }
Ejemplo n.º 3
0
 /// <summary>
 /// 开始拖拽模型,改变场景环境
 /// </summary>
 private void ChangeEnvironmentOnBegin()
 {
     if (TypeCodeHelper.IsDoorAccess(ModelName))
     {
         Debug.Log("Add Door Access...");
         DepNode currentDep = FactoryDepManager.currentDep;
         if (currentDep == null)
         {
             return;
         }
         if (currentDep.Doors != null)
         {
             IsEnvironmentChange = true;
             currentDep.Doors.SetDoorsRenderEnable(true);
             Rigidbody DoorRig = model.AddMissingComponent <Rigidbody>();
             DoorRig.useGravity  = false;
             DoorRig.isKinematic = true;
             model.AddMissingComponent <ObjectModel_DoorAccess>();
         }
     }
 }
Ejemplo n.º 4
0
 public void OnEndDrag(PointerEventData eventData)
 {
     Reset();
     if (TypeCodeHelper.IsDoorAccess(ModelName))
     {
         RecoverEnvironment();
         ObjectModel_DoorAccess access = model.GetComponent <ObjectModel_DoorAccess>();
         if (!access.IsAccessInDoor || mouseScreenPos == Input.mousePosition || IsClickUGUIorNGUI.Instance.isOverUI)
         {
             DestroyImmediate(model);
             return;
         }
         else
         {
             access.DoorItem.CloseAllDoor();
             List <GameObject> DoorAccess = access.CreateDoorAccess();
             AddSave(DoorAccess, access.DoorItem.DoorID, access.DoorItem.ParentID);
             DestroyImmediate(model);
             //  ShowParkData();
         }
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 创建设备漂浮UI
 /// </summary>
 private void CreateFollowUI()
 {
     if (Info != null && ParentDepNode != null)
     {
         string typeCode = Info.TypeCode.ToString();
         if (TypeCodeHelper.IsDoorAccess(typeCode))
         {
             return;
         }
         if (TypeCodeHelper.IsCamera(typeCode))
         {
             FollowUI = FollowTargetManage.Instance.CreateCameraUI(gameObject, ParentDepNode, this);
         }
         else if (TypeCodeHelper.IsStaticDev(typeCode))
         {
             FollowUI = FollowTargetManage.Instance.CreateDevFollowUI(gameObject, ParentDepNode, this);
         }
         else if (TypeCodeHelper.IsLocationDev(typeCode))
         {
             FollowUI = FollowTargetManage.Instance.CreateArchorFollowUI(gameObject, ParentDepNode, this);
         }
     }
 }
    /// <summary>
    /// 生成设备信息
    /// </summary>
    /// <returns></returns>
    private DevInfo GetDevInfo()
    {
        DevInfo dev = new DevInfo();

        dev.DevID      = Guid.NewGuid().ToString();
        dev.IP         = "";
        dev.KKSCode    = "";
        dev.CreateTime = DateTime.Now;
        dev.ModifyTime = DateTime.Now;
        dev.Name       = ModelName;
        dev.ModelName  = ModelName;
        dev.Status     = 0;
        dev.ParentId   = GetPID(model);
        try
        {
            dev.TypeCode = TypeCodeHelper.IsDoorAccess(ModelName)?TypeCodeHelper.DoorAccessTypecode:int.Parse(TypeCode);
        }
        catch (Exception e)
        {
            dev.TypeCode = 0;
        }
        dev.UserName = "******";
        return(dev);
    }
Ejemplo n.º 7
0
    /// <summary>
    /// 刷新单元项列表
    /// </summary>
    public IEnumerator RefleshItems()
    {
        SetContentActive(true);
        List <ObjectAddList_Model> objectAddList_Models = new List <ObjectAddList_Model>();

        foreach (ObjectAddList_Model model in childType.modelList)
        {
            if (IsCanAdd(model.typeCode))
            {
                objectAddList_Models.Add(model);
            }
        }
        int childcount = content.transform.childCount;

        //continue;
        for (int i = 0; i < objectAddList_Models.Count; i++)
        {
            string typecode = objectAddList_Models[i].typeCode;

            Transform tran = null;
            if (i < childcount)
            {
                tran = content.transform.GetChild(i);
            }
            else
            {
                tran = InstantiateItem().transform;
            }
            if (tran)
            {
                Image  image     = tran.GetChild(0).GetChild(0).GetComponent <Image>();
                string modelname = objectAddList_Models[i].modelName;
                SetImage(image, modelname);
                string typenameT = ObjectListToolbar.Instance.currentType.typeName;
                if (typenameT == "机柜")
                {
                    //ObjectListToolbarItem_Cabinet objectListModelItem = tran.gameObject.AddMissingComponent<ObjectListToolbarItem_Cabinet>();
                    ////ModelConfig modelConfig = ModelSetting.GetModelByModelName(modelname);
                    ////objectListModelItem.SetModelInfo(modelConfig);
                    //objectListModelItem.SetModelName(modelname);
                    //objectListModelItem.SetFocusTipText(modelname);

                    ObjectListModelItem objectListModelItem = tran.gameObject.AddMissingComponent <ObjectListModelItem>();
                    objectListModelItem.SetFocusTipText(modelname);
                    objectListModelItem.SetModelName(modelname, typecode);
                }
                else if (typenameT == "门窗" || typenameT == "装饰")
                {
                    //ObjectListToolbarItem_Decoration objectListModelItem = tran.gameObject.AddMissingComponent<ObjectListToolbarItem_Decoration>();

                    //ModelConfig modelConfig = ModelSetting.GetModelByModelName(modelname);
                    //objectListModelItem.SetModelInfo(modelConfig);
                    //string name = GetRealName(modelname);
                    //objectListModelItem.SetFocusTipText(name);
                    if (TypeCodeHelper.IsDoorAccess(modelname))
                    {
                        ObjectListToolbarItem_DoorAccess doorAccessItem = tran.gameObject.AddMissingComponent <ObjectListToolbarItem_DoorAccess>();
                        doorAccessItem.SetModelName(modelname, typecode);
                        string name = GetRealName(modelname);
                        doorAccessItem.SetFocusTipText(name);
                    }
                    else
                    {
                        ObjectListModelItem objectListModelItem = tran.gameObject.AddMissingComponent <ObjectListModelItem>();
                        objectListModelItem.SetModelName(modelname, typecode);
                        string name = GetRealName(modelname);
                        objectListModelItem.SetFocusTipText(name);
                    }
                }
                else//设备
                {
                    ObjectListModelItem objectListModelItem = tran.gameObject.AddMissingComponent <ObjectListModelItem>();
                    ////string name = GetRealName(modelname);
                    ////string name = modelname;
                    objectListModelItem.SetFocusTipText(modelname);

                    ////IDevType idevtype = DevTypeManager.Instance.GetDevType(typecode);
                    //IDevType idevtype = InitDataManager.GetDevTypeInfo(typecode);

                    //ModelConfig modelConfig = ModelSetting.GetModelByCode(typecode);
                    objectListModelItem.SetModelName(modelname, typecode);
                }
            }

            yield return(null);
        }
        for (int j = childcount - 1; j >= childType.modelList.Length; j--)
        {
            if (j >= content.transform.childCount)
            {
                continue;
            }
            Transform tran = content.transform.GetChild(j);
            if (tran != null)
            {
                DestroyImmediate(tran.gameObject);
                yield return(null);
            }
        }
        SetContentPos();
    }
Ejemplo n.º 8
0
        /// <summary>
        /// 保存通用设备
        /// </summary>
        private void SaveNormalDev(List <Location.TModel.Location.AreaAndDev.DevInfo> devInfoList, LocationService service)
        {
            DevInfoBackupList backUpList = new DevInfoBackupList();

            backUpList.DevList = new List <DevInfoBackup>();
            foreach (var item in devInfoList)
            {
                string typeCodeT = item.TypeCode.ToString();
                if (TypeCodeHelper.IsLocationDev(typeCodeT) || TypeCodeHelper.IsCamera(typeCodeT) || TypeCodeHelper.IsDoorAccess(item.ModelName))
                {
                    continue;
                }
                DevInfoBackup dev = new DevInfoBackup();
                dev.DevId      = item.DevID;
                dev.KKSCode    = item.KKSCode;
                dev.ModelName  = item.ModelName;
                dev.Name       = item.Name;
                dev.ParentName = GetAreaPath((int)item.ParentId, service);
                dev.TypeCode   = item.TypeCode.ToString();

                DevPos pos = item.Pos;

                dev.RotationX = pos.RotationX.ToString();
                dev.RotationY = pos.RotationY.ToString();
                dev.RotationZ = pos.RotationZ.ToString();

                dev.XPos = pos.PosX.ToString();
                dev.YPos = pos.PosY.ToString();
                dev.ZPos = pos.PosZ.ToString();

                dev.ScaleX = pos.ScaleX.ToString();
                dev.ScaleY = pos.ScaleY.ToString();
                dev.ScaleZ = pos.ScaleZ.ToString();

                backUpList.DevList.Add(dev);
            }
            string initFile = AppDomain.CurrentDomain.BaseDirectory + "Data\\设备信息\\DevInfoBackup.xml";

            XmlSerializeHelper.Save(backUpList, initFile, Encoding.UTF8);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 保存通用设备
        /// </summary>
        private void SaveNormalDev(List <Location.TModel.Location.AreaAndDev.DevInfo> devInfoList, LocationService service)
        {
            DevInfoBackupList backUpList = new DevInfoBackupList();

            backUpList.DevList = new List <DevInfoBackup>();
            foreach (var item in devInfoList)
            {
                string typeCodeT = item.TypeCode.ToString();
                if (TypeCodeHelper.IsLocationDev(typeCodeT) || TypeCodeHelper.IsCamera(typeCodeT) || TypeCodeHelper.IsDoorAccess(item.ModelName) || TypeCodeHelper.IsFireFightDevType(typeCodeT))
                {
                    continue;
                }
                DevInfoBackup dev = new DevInfoBackup();
                dev.DevId          = item.DevID;
                dev.KKSCode        = item.KKSCode;
                dev.Abutment_DevID = item.Abutment_DevID;
                dev.ModelName      = item.ModelName;
                dev.Name           = item.Name;
                dev.ParentName     = GetAreaPath((int)item.ParentId, service);
                dev.TypeCode       = item.TypeCode.ToString();

                DevPos pos = item.Pos;

                dev.RotationX = pos.RotationX.ToString();
                dev.RotationY = pos.RotationY.ToString();
                dev.RotationZ = pos.RotationZ.ToString();

                dev.XPos = pos.PosX.ToString();
                dev.YPos = pos.PosY.ToString();
                dev.ZPos = pos.PosZ.ToString();

                dev.ScaleX = pos.ScaleX.ToString();
                dev.ScaleY = pos.ScaleY.ToString();
                dev.ScaleZ = pos.ScaleZ.ToString();

                backUpList.DevList.Add(dev);
            }
            List <DevInfoBackup> deleteDevs = AddDeleteDev(devInfoList);

            if (devInfoList != null && devInfoList.Count != 0)
            {
                backUpList.DevList.AddRange(deleteDevs);
            }
            //string dirctory = GetSaveDevDirectory();
            //string initFile = dirctory+"DevInfoBackup.xml";
            //XmlSerializeHelper.Save(backUpList, initFile, Encoding.UTF8);
            SaveNormalDevXml("DevInfoBackup.xml", backUpList);
        }