Beispiel #1
0
    public void EnhanceByJade()
    {
        if (m_Enhancer is null)
        {
            Debug.Log("Please select a enhancer first");
            return;
        }

        if (m_Enhancer.EnhType != EnhanceType.Jade)
        {
            Debug.Log("This enhancer is not a Jade");
            return;
        }

        m_Gear.IncExp(EnhSysSettings.BaseJadeExp * ((Jade)m_Enhancer).Rarity);
        m_Gear.SetEnhState((JadeEnhanceState)((Jade)m_Enhancer).Rarity);

        Debug.Log(((ShipGear)m_Gear).Name + " 經驗值 = " + m_Gear.Exp);

        if (m_Gear.Exp > Mathf.Pow(EnhSysSettings.LvUpExpRatio, m_Gear.Lv) * EnhSysSettings.BaseLvUpExp)
        {
            m_Gear.LevelUp();
            m_Gear.ResetExp();
            m_Gear.EnhanceBy(m_Enhancer);
        }

        ((Jade)m_Enhancer).Decrease(1);
    }