Exemplo n.º 1
0
    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();
        }
    }
Exemplo n.º 2
0
    /// <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);
    }