/// <summary> /// 开启摄像头UI /// </summary> /// <param name="cameraDev"></param> /// <param name="devDep"></param> /// <param name="info"></param> public void CreateCameraUI(GameObject cameraDev, DepNode devDep, DevNode info) { GameObject targetTagObj = UGUIFollowTarget.CreateTitleTag(cameraDev, Vector3.zero); if (UGUIFollowManage.Instance == null) { Debug.LogError("UGUIFollowManage.Instance==null"); return; } if (RoamCamera == null) { return; } GameObject ui = Instantiate(CameraUIPrefab); ui.transform.parent = CameraUIContainer.transform; ui.transform.localScale = Vector3.one; ui.transform.localEulerAngles = Vector3.zero; ui.SetActive(true); UGUIFollowTarget followTarget = UGUIFollowTarget.AddUGUIFollowTarget(ui, targetTagObj, RoamCamera, true, -1); followTarget.SetIsRayCheckCollision(true); followTarget.SetEnableDistace(true, MaxUIDis); CameraMonitorFollowUI cameraInfo = ui.GetComponent <CameraMonitorFollowUI>(); if (cameraInfo != null) { if (!RoamCameraList.Contains(cameraInfo)) { RoamCameraList.Add(cameraInfo); } cameraInfo.SetInfo(info); //cameraInfo.Show(); } }
/// <summary> /// 创建一项 /// </summary> /// isCreateParent:是否创建父物体 public GameObject CreateItem(GameObject prefabUI, GameObject target, string groupName, Camera camT = null, bool changeChildActive = false, bool isCreateParent = false, bool IsRayCheckCollision = false, bool isUseCanvasScalerT = true, int layerint = -1) { if (camT == null) { camT = GetCamera(); } else { } UGUIFollowTarget followT = GetUIbyTarget(groupName, target); if (followT) { followT.gameObject.SetActive(true); return(followT.gameObject); } GameObject ui = Instantiate(prefabUI); ui.SetActive(true); UGUIFollowTarget followTarget = UGUIFollowTarget.AddUGUIFollowTarget(ui, target, camT, isUseCanvasScalerT, layerint); followTarget.SetTargetChildActive = changeChildActive; //followTarget.IsRayCheckCollision = IsRayCheckCollision; followTarget.SetIsRayCheckCollision(IsRayCheckCollision); if (isCreateParent) { if (name_uiparent.ContainsKey(groupName)) { ui.transform.SetParent(name_uiparent[groupName].transform); } else { CreateParent(groupName); ui.transform.SetParent(name_uiparent[groupName].transform); } } else { ui.transform.SetParent(CommonFollowUIs); } ui.transform.localScale = Vector3.one; ui.transform.localEulerAngles = Vector3.zero; if (name_uilist.ContainsKey(groupName)) { name_uilist[groupName].Add(ui); } else { name_uilist.Add(groupName, new List <GameObject>()); name_uilist[groupName].Add(ui); } return(ui); }
public void EntranceFollowUI() { // Vector3 p= UGUIFollowTarget.WorldToUIWithIgnoreCanvasScaler(Cam ,canvasT ,tagUi .transform .position ); // this.transform.GetComponent<RectTransform>().localPosition = p; UGUIFollowTarget followTarget = UGUIFollowTarget.AddUGUIFollowTarget(this.gameObject, tagUi, Cam, isUseCanvasScalerT, layerint); followTarget.SetTargetChildActive = changeChildActive; //followTarget.IsRayCheckCollision = IsRayCheckCollision; followTarget.SetIsRayCheckCollision(IsRayCheckCollision); }