public void AddUIRune(RuneData runeData) { UIRuneOnRunePage uiRune = null; // 오브젝트풀링 foreach (var uiRuneOnRunePage in uiRuneListOnRunePage) { if (uiRuneOnRunePage.gameObject.activeSelf == false) { uiRune = uiRuneOnRunePage; uiRune.SetUIRune(runeData); uiRune.gameObject.SetActive(true); Sort(); return; } } // inactive상태인 룬이 없다면 uiRune = Instantiate(uiRuneOnRunePage, girdLayoutGroup.transform); uiRune.Initialize(); uiRune.SetUIRune(runeData); uiRuneListOnRunePage.Add(uiRune); Sort(); }
public void EquipRune(UIRuneOnRunePage uiRuneToEquip, bool isInitialize = false) { var runeData = uiRuneToEquip.rune.runeData; int runeId = runeData.Id; int socketPositionOfRuneDataToEquip = runeData.SocketPosition; uiEquippedRuneList[socketPositionOfRuneDataToEquip].SetUIRune(runeData); RuneManager.Instance.SetEquippedRune(uiRuneToEquip.rune); var uiRunesForCombination = MainManager.instance.backCanvas.uiMainMenu.uiIllustratedBook.uiRunePage.uiRuneCombination.uiRunesForCombination; uiRunesForCombination.SetEquipped(runeId); //var uiRuneListOnRunePage = MainManager.instance.backCanvas.uiMainMenu.uiIllustratedBook.uiRunePage.uiRunesOnRunePage; //uiRuneListOnRunePage.RemoveRune(uiRuneToEquip); if (!isInitialize) { SaveManager.Instance.SetEquippedRuneIdsSaveData(socketPositionOfRuneDataToEquip, uiRuneToEquip.rune.runeData.Id); SaveManager.Instance.SaveEquippedRuneIds(); } }
/// <summary> /// 룬 장착 함수 /// </summary> /// <param name="runeDataToEquip"> 장착할 룬의 데이터</param> /// <returns>교체 되었는지의 Bool값과 교체되었다면 교체된 RuneData, 교체가 안되었다면 null값을 가진 Tuple을 리턴</returns> public (bool IsReplaced, Rune EquippedRune) EquipRuneAndGetReplaceResult(UIRuneOnRunePage uiRuneToEquip) { bool isReplaced; Rune equippedRune; int socketPositionOfRuneDataToEquip = uiRuneToEquip.rune.runeData.SocketPosition; UIEquipRune uiEquipRuneToBeEquip = uiEquippedRuneList[socketPositionOfRuneDataToEquip]; // 장착할 위치에 룬이 없는경우 if (uiEquipRuneToBeEquip.rune == null) { isReplaced = false; equippedRune = null; } else { isReplaced = true; equippedRune = uiEquipRuneToBeEquip.rune; } EquipRune(uiRuneToEquip); return(isReplaced, equippedRune); }