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