Ejemplo n.º 1
0
    public IEnumerator CastMagic()
    {
        Magic m   = GetTestMagic();
        int   mod = (spellCastIndex == 3)?1:0;

        m.SetMagicDamage(pS.intellect);
        m.SetMagicSkillLevel(testMagicLevel);
        if ((pS.currentSP - m.manaCost) > 0)
        {
            pS.currentSP     -= m.manaCost;
            testMagicCooldown = 0.6f;
            GameObject m_circle = Instantiate(magicCircle, transform) as GameObject;
            var        ps       = m_circle.GetComponent <ParticleSystem>();
            var        main     = ps.main;
            main.startColor = m.circleColor;
            AudioSource.PlayClipAtPoint(m.birth, transform.position);
            yield return(new WaitForSeconds(0.5f));

            AudioSource.PlayClipAtPoint(m.life, transform.position);
            pM.CastAttack();
            var        mdb   = GameObject.Find("Database_Magic").GetComponent <Magic_Database>();
            GameObject spell = Instantiate(mdb.GetSpellProjectile(m, mod), GameObject.Find("Spells").transform) as GameObject;
            spell.transform.position = transform.position;
            Vector2 tar = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            spell.GetComponent <Magic_Projectile>().InitializeProjectile(m, tar);
        }
    }