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; } }
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 : ""; } } }
/// <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); } } } }
/// <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); }
/// <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); }
/// <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> /// <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); } } }