private void UpdateSpells()
 {
     m_SpellCastingComponent = m_Player.GetComponent <SpellCastingComponent>();
     UpdateSpellInfo(m_NewSpell, m_NewSpellData[0]);
     if (m_NewSpellData.Count > 1)
     {
         UpdateSpellInfo(m_NewSpell1, m_NewSpellData[1]);
         UpdateSpellInfo(m_NewSpell2, m_NewSpellData[2]);
     }
     if (m_NumberOfPlayerSpells == 2)
     {
         UpdateSpellInfo(m_PlayerSpell1, m_SpellCastingComponent.GetSpell(0).m_Spell);
         UpdateSpellInfo(m_PlayerSpell2, m_SpellCastingComponent.GetSpell(1).m_Spell);
     }
     else
     {
         UpdateSpellInfo(m_PlayerSpell1, null);
         UpdateSpellInfo(m_PlayerSpell2, null);
     }
 }
    public void UpdateOldSelectedIdx(int n_idx)
    {
        if (n_idx != -1 && m_SelectedNewSpellIdx != -1)
        {
            m_ConfirmButton.interactable = true;
        }
        else
        {
            m_ConfirmButton.interactable = false;
        }

        m_SelectedOldSpellIdx = n_idx;
        if (m_OldSpellInfo && n_idx != -1 && m_NumberOfPlayerSpells >= 2)
        {
            m_OldSpellInfo.gameObject.SetActive(true);
            m_OldSpellInfo.UpdateInfo(m_SpellCastingComponent.GetSpell(n_idx).m_Spell);
        }
        else
        {
            m_OldSpellInfo.gameObject.SetActive(false);
        }
    }
    public void SpawnSelection(List <Spell> nspell, GameObject sitem, bool multiple = false)
    {
        gameObject.SetActive(true);

        m_SpellCastingComponent = m_Player.GetComponent <SpellCastingComponent>();
        m_MultipleSelection     = multiple;
        m_NewSpell1.SetActive(multiple);
        m_NewSpell2.SetActive(multiple);
        m_NewSpellData = nspell;

        m_SelectedNewSpellIdx = nspell.Count > 1 ? -1 : 0;

        m_SpellItem = sitem;

        m_NumberOfPlayerSpells = 0;
        m_NumberOfPlayerSpells = m_SpellCastingComponent.GetSpell(0).m_Spell == null ? m_NumberOfPlayerSpells : m_NumberOfPlayerSpells + 1;
        m_NumberOfPlayerSpells = m_SpellCastingComponent.GetSpell(1).m_Spell == null ? m_NumberOfPlayerSpells : m_NumberOfPlayerSpells + 1;

        if (m_NumberOfPlayerSpells == 1)
        {
            UpdateOldSelectedIdx(1);
        }
        else if (m_NumberOfPlayerSpells == 0)
        {
            UpdateOldSelectedIdx(0);
        }
        else
        {
            UpdateOldSelectedIdx(-1);
        }
        UpdateNewSelectedIdx(m_SelectedNewSpellIdx);

        UpdateSpells();

        Time.timeScale = 0;
    }
Пример #4
0
    public void UpdateSpellIconAndBorders()
    {
        if (m_SpellComponent)
        {
            if (m_SpellComponent.GetSpell(0).m_Spell != null)
            {                                                                                 // If player does have Spell1 Set
                ToggleImageChildren(m_Spell_1_Icon, true);
                m_Spell_1_Icon.sprite   = m_SpellComponent.GetSpell(0).m_Spell.m_SpellImage;  // set UI Image
                m_Spell_1_Border.sprite = m_SpellComponent.GetSpell(0).m_Spell.m_BorderImage; // Set UI border

                if (m_SpellComponent.GetSpell(0).m_Spell.m_SpellCharges == 1)                 // if the spell only has 1 charge, do not display it
                {
                    m_Spell_1_Charges.gameObject.SetActive(false);
                }
                else
                {
                    m_Spell_1_Charges.text = m_SpellComponent.GetSpell(0).m_Spell.m_SpellCharges.ToString(); // show and update it otherwise
                    m_Spell_1_Charges.gameObject.SetActive(true);
                }
            }
            else
            {
                ToggleImageChildren(m_Spell_1_Icon, false);
            };                                                                                // hide spell if player dont have it

            if (m_SpellComponent.GetSpell(1).m_Spell != null)                                 // If player does have Spell2 Set
            {
                ToggleImageChildren(m_Spell_2_Icon, true);                                    //m_Spell_2_Icon.gameObject.SetActive(true);
                m_Spell_2_Icon.sprite   = m_SpellComponent.GetSpell(1).m_Spell.m_SpellImage;  // Set UI Image
                m_Spell_2_Border.sprite = m_SpellComponent.GetSpell(1).m_Spell.m_BorderImage; // Set UI Border

                if (m_SpellComponent.GetSpell(1).m_Spell.m_SpellCharges == 1)                 // if the spell only has 1 charge, do not display it
                {
                    m_Spell_2_Charges.gameObject.SetActive(false);
                }
                else
                {
                    m_Spell_2_Charges.text = m_SpellComponent.GetSpell(1).m_Spell.m_SpellCharges.ToString(); // show and update it otherwise
                    m_Spell_2_Charges.gameObject.SetActive(true);
                }
            }
            else
            {
                ToggleImageChildren(m_Spell_2_Icon, false);
            };                                                 // hide spell if player dont have it
        }
    }