|
|
@@ -54,16 +54,30 @@ namespace Fort23.Mono
|
|
|
needSmallPlacesId = (int)(uiData[2]);
|
|
|
isChange = false;
|
|
|
placesConfig = ConfigComponent.Instance.Get<PlacesConfig>(PlacesId);
|
|
|
-
|
|
|
-
|
|
|
- foreach (var placesConfigSmallPlacersId in placesConfig.SmallPlacersIds)
|
|
|
+ sv.vertical = true;
|
|
|
+ int maxY = 131 * placesConfig.SmallPlacersIds.Length + (placesConfig.SmallPlacersIds.Length) * 33;
|
|
|
+ Content.sizeDelta = new Vector2(551, maxY);
|
|
|
+ for (var i = 0; i < placesConfig.SmallPlacersIds.Length; i++)
|
|
|
{
|
|
|
PlacesInfoWidget shopBtnWidget =
|
|
|
await UIManager.Instance.CreateGComponent<PlacesInfoWidget>(null, Content);
|
|
|
- shopBtnWidget.CustomInit(placesConfigSmallPlacersId, callBack);
|
|
|
+ shopBtnWidget.CustomInit(placesConfig.SmallPlacersIds[i], callBack);
|
|
|
+ shopBtnWidget.transform.anchoredPosition = new Vector2(0, -131 * i - 33 * i);
|
|
|
if (needSmallPlacesId == shopBtnWidget.smallPlacesConfig.ID && shopBtnWidget.isUlock)
|
|
|
{
|
|
|
currentNeedPlacesInfoWidget = shopBtnWidget;
|
|
|
+ int y = 131 * (i - 1) + 33 * (i - 1);
|
|
|
+ if (y < 0)
|
|
|
+ {
|
|
|
+ y = 0;
|
|
|
+ }
|
|
|
+ else if (y >= maxY)
|
|
|
+ {
|
|
|
+ y = maxY;
|
|
|
+ }
|
|
|
+
|
|
|
+ Content.anchoredPosition = new Vector2(0, y);
|
|
|
+ sv.vertical = false;
|
|
|
}
|
|
|
|
|
|
placesInfoWidgets.Add(shopBtnWidget);
|
|
|
@@ -86,16 +100,36 @@ namespace Fort23.Mono
|
|
|
public async override CTask Show()
|
|
|
{
|
|
|
base.Show();
|
|
|
- LayoutRebuilder.ForceRebuildLayoutImmediate(Content);
|
|
|
+ // LayoutRebuilder.ForceRebuildLayoutImmediate(Content);
|
|
|
+
|
|
|
+ GuideHand.gameObject.SetActive(currentNeedPlacesInfoWidget != null);
|
|
|
+ }
|
|
|
+
|
|
|
+ [CustomMethod(CustomMethodType.Update)]
|
|
|
+ public void Update()
|
|
|
+ {
|
|
|
if (currentNeedPlacesInfoWidget != null)
|
|
|
{
|
|
|
- Vector3 localPos = transform.InverseTransformPoint(currentNeedPlacesInfoWidget.transform.position);
|
|
|
+ if (currentNeedPlacesInfoWidget.currentSmallPlacesData == null &&
|
|
|
+ currentNeedPlacesInfoWidget.IsSmallPlacesDataUlock(currentNeedPlacesInfoWidget.smallPlacesConfig
|
|
|
+ .ID))
|
|
|
+ {
|
|
|
+ Vector3 localPos =
|
|
|
+ transform.InverseTransformPoint(currentNeedPlacesInfoWidget.Btn_Jiesuo.transform.position);
|
|
|
|
|
|
|
|
|
- GuideHand.transform.localPosition = localPos;
|
|
|
- }
|
|
|
+ GuideHand.transform.localPosition = localPos;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Vector3 localPos =
|
|
|
+ transform.InverseTransformPoint(
|
|
|
+ currentNeedPlacesInfoWidget.Btn_Qianwang.transform.position);
|
|
|
|
|
|
- GuideHand.gameObject.SetActive(currentNeedPlacesInfoWidget != null);
|
|
|
+
|
|
|
+ GuideHand.transform.localPosition = localPos;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static async CTask OpenPanel(int placesId, Action<bool> callBack, int needSmallPlacesId = 0)
|