private void RegenerateWorldDungeonButton() { _worldTreeDungeonButtonDictionary.Clear(); worldTreeDungeonButtonPrefab.gameObject.SetActive(false); List <WorldTreeDungeonInfo> allWorldDungeonInfoList = WorldTreeProxy.instance.GetAllWorldTreeDungeonInfoList(); int allWorldDungeonInfoCount = allWorldDungeonInfoList.Count; List <Vector2> worldTreeDungeonButtonPosTemplateList = GlobalData.GetGlobalData().worldTreeDungeonPosList; WorldTreeDungeonInfo worldTreeDungeonInfo = null; Vector2 worldTreeDungeonButtonPos; for (int i = 0; i < allWorldDungeonInfoCount; i++) { worldTreeDungeonInfo = allWorldDungeonInfoList[i]; WorldTreeDungeonButton worldTreeDungeonButton = GameObject.Instantiate <WorldTreeDungeonButton>(worldTreeDungeonButtonPrefab); worldTreeDungeonButton.SetWorldTreeDungeonInfo(worldTreeDungeonInfo); worldTreeDungeonButton.transform.SetParent(worldTreeDungeonButtonsRoot, false); worldTreeDungeonButtonPos = worldTreeDungeonButtonPosTemplateList[i % worldTreeDungeonButtonPosTemplateList.Count]; worldTreeDungeonButtonPos += new Vector2(-120 + (i % 2) * 250, (i / worldTreeDungeonButtonPosTemplateList.Count) * 640); worldTreeDungeonButton.GetComponent <RectTransform>().anchoredPosition = worldTreeDungeonButtonPos; worldTreeDungeonButton.gameObject.SetActive(true); _worldTreeDungeonButtonDictionary.Add(worldTreeDungeonInfo.dungeonID, worldTreeDungeonButton); } float contentIdealPosY = -_worldTreeDungeonButtonDictionary[WorldTreeProxy.instance.UnlockedWorldTreeDungeonInfo.dungeonID].GetComponent <RectTransform>().anchoredPosition.y + worldTreeDungeonsScrollRect.viewport.rect.size.y * 0.5f; contentIdealPosY = Mathf.Clamp(contentIdealPosY, -(worldTreeDungeonsScrollRect.content.rect.size.y - worldTreeDungeonsScrollRect.viewport.rect.y), 0); worldTreeDungeonsScrollRect.content.anchoredPosition = new Vector2(0, contentIdealPosY); }
public void ClickWorldTreeDungeonButtonHandler(WorldTreeDungeonButton worldTreeDungeonButton) { ResetSelectedWorldTreeDungeonInfo(worldTreeDungeonButton.WorldTreeDungeonInfo); }