コード例 #1
0
 private Color unInteractableColor = new Color(109f / 255f, 236f / 255f, 254f / 255);//不可输入文本框颜色
 /// <summary>
 /// 设置角度和位置,是否可以输入
 /// </summary>
 /// <param name="devTemp"></param>
 private void SetAnglePosInputState(DevNode devTemp)
 {
     if (devTemp.Info != null && TypeCodeHelper.IsStaticDev(devTemp.Info.TypeCode.ToString()))
     {
         XPosField.interactable         = false;
         XPosField.textComponent.color  = unInteractableColor;
         YPosField.interactable         = false;
         YPosField.textComponent.color  = unInteractableColor;
         ZPosField.interactable         = false;
         ZPosField.textComponent.color  = unInteractableColor;
         AngleField.interactable        = false;
         AngleField.textComponent.color = unInteractableColor;
     }
     else
     {
         XPosField.interactable         = true;
         XPosField.textComponent.color  = Color.white;
         YPosField.interactable         = true;
         YPosField.textComponent.color  = Color.white;
         ZPosField.interactable         = true;
         ZPosField.textComponent.color  = Color.white;
         AngleField.interactable        = true;
         AngleField.textComponent.color = Color.white;
     }
 }
コード例 #2
0
 public void Show(DevNode dev)
 {
     InitManager();
     currentDev = dev;
     SetWindowState(dev);
     ShowDeleteButton(dev);
     //Window.SetActive(true);
     if (TypeCodeHelper.IsStaticDev(dev.Info.TypeCode.ToString()))
     {
         if (!IsCopyDev)
         {
             DevNameNormal.text = dev.Info != null ? dev.Info.Name + "   " : "";
         }
         else
         {
             DevNameCopy.text = dev.Info != null ? dev.Info.Name + "   " : "";
         }
     }
     else
     {
         if (!IsCopyDev)
         {
             DevNameNormal.text = dev.Info != null ? dev.Info.Name : "";
         }
         else
         {
             DevNameCopy.text = dev.Info != null ? dev.Info.Name : "";
         }
     }
 }
コード例 #3
0
    /// <summary>
    /// 保存信息
    /// </summary>
    private void SaveInfo()
    {
        Debug.Log("SaveInfo:" + CurrentDev.Info.Name);
        CheckInputValue();
        DeviceEditUIManager manager = DeviceEditUIManager.Instacne;

        if (CurrentDev != null)
        {
            CurrentDev.Info.Name    = NameInput.text;
            CurrentDev.Info.KKSCode = IDField.text;
            string typeCode = CurrentDev.Info.TypeCode.ToString();
            DevPos posInfo  = null;
            if (!TypeCodeHelper.IsStaticDev(typeCode))
            {
                ChangeDevPosAngle();
                bool    isLocation = !(CurrentDev.ParentDepNode == FactoryDepManager.Instance);
                Vector3 cadPos     = LocationManager.UnityToCadPos(TryParsePos(), isLocation);
                posInfo = CurrentDev.Info.Pos;
                if (posInfo != null)
                {
                    posInfo.PosX      = cadPos.x;
                    posInfo.PosY      = cadPos.y;
                    posInfo.PosZ      = cadPos.z;
                    posInfo.RotationY = TryParseFloat(AngleInput.text);
                    posInfo.ScaleX    = TryParseFloat(ScaleXInput.text);
                    posInfo.ScaleY    = TryParseFloat(ScaleYInput.text);
                    posInfo.ScaleZ    = TryParseFloat(ScaleZInput.text);
                }
                manager.RefleshGizmoPosition();
            }
            manager.ChangeDevFollowInfo(CurrentDev);
            CommunicationObject service = CommunicationObject.Instance;
            if (service)
            {
                service.ModifyDevInfo(CurrentDev.Info);
                if (!TypeCodeHelper.IsStaticDev(typeCode))
                {
                    service.ModifyDevPos(posInfo);
                }
            }
        }
    }
コード例 #4
0
    /// <summary>
    /// 检测输入框的值
    /// </summary>
    private void CheckInputValue()
    {
        if (TypeCodeHelper.IsStaticDev(CurrentDev.Info.TypeCode.ToString()))
        {
            return;
        }
        DevPos  devPos    = CurrentDev.Info.Pos;
        Vector3 cadPos    = new Vector3(devPos.PosX, devPos.PosY, devPos.PosZ);
        bool    isRoomDev = CurrentDev.IsLocal();
        Vector3 pos       = LocationManager.CadToUnityPos(cadPos, isRoomDev);

        if (string.IsNullOrEmpty(NameField.text))
        {
            NameField.text = CurrentDev.Info.Name;
        }
        CheckEmptyField(XPosField, pos.x);
        CheckEmptyField(YPosField, pos.y);
        CheckEmptyField(ZPosField, pos.z);
        CheckEmptyField(AngleField, devPos.RotationY);
    }
コード例 #5
0
    /// <summary>
    /// 检测输入框的值
    /// </summary>
    private void CheckInputValue()
    {
        if (TypeCodeHelper.IsStaticDev(CurrentDev.Info.TypeCode.ToString()))
        {
            return;
        }
        DevPos  devPos     = CurrentDev.Info.Pos;
        Vector3 cadPos     = new Vector3(devPos.PosX, devPos.PosY, devPos.PosZ);
        bool    isLocation = !(CurrentDev as DepDevController);
        Vector3 pos        = LocationManager.CadToUnityPos(cadPos, isLocation);

        if (string.IsNullOrEmpty(NameInput.text))
        {
            NameInput.text = CurrentDev.Info.Name;
        }
        CheckEmptyField(XPosInput, pos.x);
        CheckEmptyField(YPosInput, pos.y);
        CheckEmptyField(ZPosInput, pos.z);
        CheckEmptyField(AngleInput, devPos.RotationY);
        CheckEmptyField(ScaleXInput, 1);
        CheckEmptyField(ScaleYInput, 1);
        CheckEmptyField(ScaleZInput, 1);
    }
コード例 #6
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);
         }
     }
 }
コード例 #7
0
 /// <summary>
 /// 是否显示删除按钮
 /// </summary>
 /// <param name="dev"></param>
 private void ShowDeleteButton(DevNode dev)
 {
     if (dev == null || dev.Info == null)
     {
         return;
     }
     if (TypeCodeHelper.IsStaticDev(dev.Info.TypeCode.ToString()))
     {
         DeleteButtonNoraml.gameObject.SetActive(false);
         DeleteButtonCopy.gameObject.SetActive(false);
     }
     else
     {
         if (IsCopyDev)
         {
             DeleteButtonCopy.gameObject.SetActive(true);
         }
         else
         {
             DeleteButtonNoraml.gameObject.SetActive(true);
         }
     }
 }