protected void AdaptationUI(RectTransform rect, EUICanvas eEUICanvas) { if (rect != null) { rect.anchorMin = new Vector2(0, 0); rect.anchorMax = new Vector2(1f, 1f); rect.transform.localScale = Vector3.one; UIManagerCanvas canvas = GetCanvas(eEUICanvas); //真实宽度 float RealScreenScale = Screen.width / (float)Screen.height; float ReadWidth = canvas.canvasScaler.referenceResolution.y * RealScreenScale; //实际宽度 float width = canvas.canvasScaler.referenceResolution.y * m_ScreenScale; float height = canvas.canvasScaler.referenceResolution.y; float offsetX = 0; if (width > ReadWidth) { width = ReadWidth; } else { offsetX = (ReadWidth - width) * 0.5f; } rect.offsetMax = new Vector2(-offsetX, 0); rect.offsetMin = new Vector2(offsetX, 0); //rect.sizeDelta = new Vector2(width, 0); } }
public void SetCanvas(UIBase ui, EUICanvas eType, bool isAutoReset = true) { UIManagerCanvas canvas = null; if (m_canvasDic.TryGetValue(eType, out canvas)) { canvas.SetUI(ui.transform, isAutoReset); } }
public Vector3 ScreenToWorldPoint(EUICanvas eCanvas, Vector3 vec) { UIManagerCanvas canvas = null; if (m_canvasDic.TryGetValue(eCanvas, out canvas)) { return(canvas.ScreenToWorldPoint(vec)); } return(vec); }
public Vector3 WorldToScreenPoint(int index, Vector3 vec) { EUICanvas eCanvas = (EUICanvas)index; UIManagerCanvas canvas = null; if (m_canvasDic.TryGetValue(eCanvas, out canvas)) { return(canvas.WorldToScreenPoint(vec)); } return(vec); }
protected void SetCanvas(GameObject canvaspre, EUICanvas eCanvas) { if (!m_canvasDic.ContainsKey(eCanvas)) { GameObject go = GameObject.Instantiate(canvaspre); go.name = eCanvas.ToString(); go.transform.SetParent(tranform); ResetNode(go.transform); UIManagerCanvas data = new UIManagerCanvas(); data.Initalize(go, eCanvas); data.SetParent(tranform); m_canvasDic[eCanvas] = data; } }
protected void RegisterUI(UIBase uiBase, EUICanvas eType, bool isAutoReset) { UIManagerCanvas canvas = null; if (m_canvasDic.TryGetValue(eType, out canvas)) { canvas.SetUI(uiBase.transform, isAutoReset); if (uiBase != null) { if (uiBase.useBack) { uiBase.SetOverrideSorting(true); } uiBase.order = canvas.canvas.sortingOrder; uiBase.gameObject.SetActive(false); } } }