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); } }