From 2735b972230cbdd1581d2a3912e3d5d2a5c6ba37 Mon Sep 17 00:00:00 2001 From: chenyuqi <1357020360@qq.com> Date: Tue, 5 Dec 2023 19:27:56 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=B1=8F=E5=B9=95=E9=80=82=E9=85=8D?= =?UTF-8?q?=E3=80=91=E5=88=98=E6=B5=B7=E5=B1=8F=E5=B7=A6=E5=8F=B3=E9=80=82?= =?UTF-8?q?=E9=85=8D=E5=8A=9F=E8=83=BD=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UI/Prefab/MainPanel/UI_MainPanel.prefab | 4 +- .../Code/Scripts/Framework/UI/UIWindow.cs | 73 +++++++++++++++++++ .../UI_Cultivate_DetailController.cs | 11 +++ .../UI_Cultivate_ProAndInfoController.cs | 13 +++- .../UI/UI_Interface/UI_MainPanelController.cs | 9 ++- ProjectNLD/Assets/PhxhSDK | 2 +- 6 files changed, 107 insertions(+), 5 deletions(-) diff --git a/ProjectNLD/Assets/Art/UI/Prefab/MainPanel/UI_MainPanel.prefab b/ProjectNLD/Assets/Art/UI/Prefab/MainPanel/UI_MainPanel.prefab index db8a24b1f21..f07d2887c25 100644 --- a/ProjectNLD/Assets/Art/UI/Prefab/MainPanel/UI_MainPanel.prefab +++ b/ProjectNLD/Assets/Art/UI/Prefab/MainPanel/UI_MainPanel.prefab @@ -34,7 +34,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.0068835267, y: 0.0038443035} + m_AnchoredPosition: {x: -0.00005066102, y: 0.0038443035} m_SizeDelta: {x: 0, y: 300} m_Pivot: {x: 0, y: 1} --- !u!114 &5241968859315470040 @@ -7956,7 +7956,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchoredPosition: {x: -237, y: 0} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &5091781664157853341 diff --git a/ProjectNLD/Assets/Code/Scripts/Framework/UI/UIWindow.cs b/ProjectNLD/Assets/Code/Scripts/Framework/UI/UIWindow.cs index 7bbcb56f9ad..551309e76a9 100644 --- a/ProjectNLD/Assets/Code/Scripts/Framework/UI/UIWindow.cs +++ b/ProjectNLD/Assets/Code/Scripts/Framework/UI/UIWindow.cs @@ -13,6 +13,8 @@ public abstract class UIWindow : MonoBehaviour private const string DEFAULT_SHOW_ANIM = "show"; private const string DEFAULT_HIDE_ANIM = "hide"; private string mWindowName; + private ScreenOrientation _lastOrientation; + private Vector2 _offsets; //x,y代表左右的偏移量 // 是否播放默认的打开对话框的声音 public bool isPlayDefaultOpenAudio = true; @@ -36,6 +38,77 @@ public abstract class UIWindow : MonoBehaviour OnAwake(); } + protected void OnStart() + { + _lastOrientation = Screen.orientation; + InitScreenUIOffset(); + UpdateScreenAdaption(); + } + + protected void OnUpdate() + { + if (_lastOrientation != Screen.orientation) + { + //Debug.Log("Screen orientation has changed!"); + // Add your orientation-specific actions here + + // Update the last orientation for the next frame + _lastOrientation = Screen.orientation; + UpdateScreenAdaption(); + //左右分别找到指定节点移动,当前的方案 + //刘海屏适配 + + } + } + + /// + /// 屏幕适配,目前方案是左右固定名称的节点下的各个物体需要适配,其他的不管 + /// + protected void UpdateScreenAdaption() + { + var goLeft = FindObj("UI_LiuHaiLeft"); + var goRight = FindObj("UI_LiuHaiRight"); + if (goLeft) + { + var rectTrans = goLeft.GetComponent(); + var originPos = rectTrans.anchoredPosition; + rectTrans.anchoredPosition = new Vector2(_offsets.x, originPos.y); + } + + if (goRight) + { + var rectTrans = goRight.GetComponent(); + var originPos = rectTrans.anchoredPosition; + rectTrans.anchoredPosition = new Vector2(_offsets.y, originPos.y); + } + } + + protected void SetScreenOffsets(Vector2 offset) + { + _offsets = offset; + } + + + protected void InitScreenUIOffset() + { + var offset = DeviceHelper.GetWidthOffset(); + var goLeft = FindObj("UI_LiuHaiLeft"); + if (goLeft) + { + var rectTrans = goLeft.GetComponent(); + var originPos = rectTrans.anchoredPosition; + SetScreenOffsets(new Vector2(originPos.x + offset.x, 0)); + } + + var goRight = FindObj("UI_LiuHaiRight"); + if (goRight) + { + var rectTrans = goRight.GetComponent(); + var originPos = rectTrans.anchoredPosition; + SetScreenOffsets(new Vector2(_offsets.x, originPos.x - offset.y)); + } + } + public void OpenWindow(object data) { Show(data); diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/UI_Cultivate_DetailController.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/UI_Cultivate_DetailController.cs index 60b3bf33842..ea4b6f63bff 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/UI_Cultivate_DetailController.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/ShowAllCharacter/UI_Cultivate_DetailController.cs @@ -89,6 +89,17 @@ public class UI_Cultivate_DetailController : UIWindow BindButton(GetComponent