public void RemoveRune(int runeId) { UIEquipRune uiEquipRune = null; foreach (var uiEquippedRune in uiEquippedRuneList) { if (uiEquippedRune.rune != null) { if (uiEquippedRune.rune.runeData.Id == runeId) { uiEquipRune = uiEquippedRune; break; } } } if (uiEquipRune != null) { SaveManager.Instance.SetEquippedRuneIdsSaveDataByRelease(uiEquipRune.rune.runeData.SocketPosition); SaveManager.Instance.SaveEquippedRuneIds(); uiEquipRune.Disable(); MainManager.instance.backCanvas.uiMainMenu.uiIllustratedBook.uiRunePage.CheckNotify(); } }
/// <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); }