|  | @@ -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)
 |