|
@@ -1,6 +1,7 @@
|
|
|
using ET;
|
|
|
using FairyGUI;
|
|
|
using System.Collections;
|
|
|
+using System.Collections.Generic;
|
|
|
using UnityEngine;
|
|
|
|
|
|
namespace GFGGame
|
|
@@ -228,10 +229,68 @@ namespace GFGGame
|
|
|
|
|
|
private void MakeFullScreen(GObject ui)
|
|
|
{
|
|
|
- ui.MakeFullScreen();
|
|
|
+ MakeUIFullScreen(ui);
|
|
|
ui.AddRelation(GRoot.inst, RelationType.Size);
|
|
|
}
|
|
|
|
|
|
+ private bool _adaptFinished = false;
|
|
|
+ public void MakeUIFullScreen(GObject ui)
|
|
|
+ {
|
|
|
+ if (_adaptFinished)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //这里做了最大宽度适配
|
|
|
+ float targetWidth;
|
|
|
+ float maxAspectRatio = 1080 * 1.0f / 1920;
|
|
|
+ if (Screen.width * 1.0f / Screen.height > maxAspectRatio)
|
|
|
+ {
|
|
|
+ targetWidth = GRoot.inst.height * maxAspectRatio;
|
|
|
+ ui.Center();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ targetWidth = GRoot.inst.width;
|
|
|
+ }
|
|
|
+
|
|
|
+ float offsetY = ViewGlobal.GetRealTopOffset();
|
|
|
+
|
|
|
+ GameObject uiObj = viewCom.displayObject.gameObject;
|
|
|
+
|
|
|
+ // 处理全屏背景图
|
|
|
+ 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)
|
|
|
+ {
|
|
|
+ switch (bg.name)
|
|
|
+ {
|
|
|
+ case "GLoader":
|
|
|
+ break;
|
|
|
+ case "Shape":
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ 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.SetSize(targetWidth, ViewGlobal.GetUIHeight());
|
|
|
+ // UI整体下移动
|
|
|
+ ui.SetXY(ui.x, offsetY);
|
|
|
+
|
|
|
+ _adaptFinished = true;
|
|
|
+ }
|
|
|
+
|
|
|
void __addedToStage()
|
|
|
{
|
|
|
DoShowAnimation();
|