Esempio n. 1
0
    /// <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);
    }
Esempio n. 3
0
    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);
    }