using System.Collections.Generic; using Cysharp.Threading.Tasks; using UnityEngine; using UnityEngine.UI; //特权卡激活成功 public class PrivilegeActiveCardWin : UIBase { [SerializeField] Transform[] tqLines; [SerializeField] Text[] tqTexts; [SerializeField] RectTransform bg; protected override void OnPreOpen() { if (functionOrder == 0) return; int type = functionOrder; var lines = InvestModel.Instance.GetPrivilegeLins(type); for (int i = 0; i < tqLines.Length; i++) { if (i < lines) { tqLines[i].SetActive(true); tqTexts[i].text = Language.Get($"PrivilegeCard{type}_{i + 1}"); } else { tqLines[i].SetActive(false); } } } protected override void NextFrameAfterOpen() { ForceRefreshLayout().Forget(); } /// /// 强制刷新Layout,解决嵌套Layout和ContentSizeFitter的重叠问题 /// async UniTask ForceRefreshLayout() { LayoutRebuilder.ForceRebuildLayoutImmediate(bg); await UniTask.DelayFrame(2); LayoutRebuilder.ForceRebuildLayoutImmediate(bg); } }