|
@@ -254,40 +254,55 @@ namespace GFGGame
|
|
|
targetWidth = GRoot.inst.width;
|
|
|
}
|
|
|
|
|
|
- float offsetY = ViewGlobal.GetRealTopOffset();
|
|
|
-
|
|
|
GameObject uiObj = viewCom.displayObject.gameObject;
|
|
|
|
|
|
- // 处理全屏背景图
|
|
|
- List<Transform> list = ViewGlobal.FindAllGLoaderInTrans(uiObj.transform);
|
|
|
+ List<GObject> listTopImg = new List<GObject>();
|
|
|
+ float offsetY = ViewGlobal.GetRealTopOffset();
|
|
|
|
|
|
+ // 处理全屏显示的背景图/遮罩
|
|
|
+ List<Transform> list = ViewGlobal.FindAllGLoaderInTrans(uiObj.transform);
|
|
|
for (int i = 0; i < list.Count; i++)
|
|
|
{
|
|
|
GameObject bg = list[i].gameObject;
|
|
|
DisplayObjectInfo bgInfo = bg.GetComponent<DisplayObjectInfo>();
|
|
|
GObject obj = GRoot.inst.DisplayObjectToGObject(bgInfo.displayObject);
|
|
|
-
|
|
|
- if (obj != null && ViewGlobal.IsFullScreenPic(obj.name) && obj.height >= 1920)
|
|
|
+
|
|
|
+ if (obj != null)
|
|
|
{
|
|
|
- switch (bg.name)
|
|
|
+ if (ViewGlobal.IsFullScreenPic(obj.name) && obj.height >= 1920)
|
|
|
+ {
|
|
|
+ obj.AddRelation(ui, RelationType.Center_Center);
|
|
|
+ obj.SetSize(1080, 2400);
|
|
|
+ obj.SetXY(obj.x, obj.y - offsetY / 2);
|
|
|
+ }
|
|
|
+ else if (obj.name.Contains("Top_img"))
|
|
|
{
|
|
|
- case "GLoader":
|
|
|
- break;
|
|
|
- case "Shape":
|
|
|
- break;
|
|
|
+ listTopImg.Add(obj);
|
|
|
}
|
|
|
- obj.AddRelation(ui, RelationType.Center_Center);
|
|
|
- obj.RemoveRelation(ui, RelationType.Size);
|
|
|
- obj.SetSize(1080, 2400);
|
|
|
- obj.SetXY(obj.x, obj.y - offsetY / 2);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 保存未适配时,不需要改变位置的UI的信息(适配部分存在拉伸效果的UI)
|
|
|
+ ui.SetSize(targetWidth, GRoot.inst.height);
|
|
|
+ List<float> heightList = new List<float>();
|
|
|
+ for (int i = 0; i < listTopImg.Count; i++)
|
|
|
+ {
|
|
|
+ listTopImg[i].RemoveRelation(ui, RelationType.Center_Center);
|
|
|
+ heightList.Add(listTopImg[i].height);
|
|
|
+ }
|
|
|
+
|
|
|
// UI整体高度缩放
|
|
|
ui.SetSize(targetWidth, ViewGlobal.GetUIHeight());
|
|
|
// UI整体下移动
|
|
|
ui.SetXY(ui.x, offsetY);
|
|
|
|
|
|
+ // 还原不需要适配的UI
|
|
|
+ for (int i = 0; i < listTopImg.Count; i++)
|
|
|
+ {
|
|
|
+ listTopImg[i].SetSize(listTopImg[i].width, heightList[i]);
|
|
|
+ listTopImg[i].SetXY(listTopImg[i].x, listTopImg[i].y - offsetY);
|
|
|
+ }
|
|
|
+
|
|
|
_adaptFinished = true;
|
|
|
}
|
|
|
|