void Formuladedano(Collision magic, float mult) { //Quando o objeto for colidido, ele vai pegar a informação do dano base que tem aquele objeto float BaseDmg = magic.gameObject.GetComponent <Magic_Information>().LaunchedBaseDamage; Magic_Information call = magic.gameObject.GetComponent <Magic_Information>(); //pegar info do outro script call.DestroyMagicApplyEffect(); //chamar o outro método //Dependendo de onde ele foi chamado, ele vai multiplicar. _enemyHP -= BaseDmg * mult; //print(_enemyHP); }
void LaunchBasicMagic(GameObject Magic, float Speed, string Effectiveness, string Immunity, float bsdmg, float lifespan, Status_Attributes status) { //Método de lançamento, se apertar o botão esquerdo, depois que foi chamado, pega os parametros que foi puxado. if (Input.GetMouseButtonDown(0)) { //Se apertar o botão, instancia a mágica. //Colocar pra magia ser atirada na frente. //Para que a magia não saia de dentro do cubo. Vector3 _spellpos = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z + Spell_Position); //Armazenar o clone em um objeto e instanciar ele GameObject MagicCreation = Instantiate(Magic, _spellpos, Quaternion.identity); MagicCreation.AddComponent <Rigidbody>(); //Adicionar Rigidbody nesse clone //Adiciona um script na instancia que tem duas variaveis MagicCreation.AddComponent <Magic_Information>(); //Variavel para armazenar as informações do script Magic_Information magic_Information = MagicCreation.GetComponent <Magic_Information>(); //Passa as informações que foram atribuidas antes, nas variaveis desde script magic_Information.LaunchedMagicTypeEff = Effectiveness; magic_Information.LaunchedBaseDamage = bsdmg; magic_Information.LaunchedMagicTypeImm = Immunity; magic_Information.LaunchedLifespan = lifespan; magic_Information.LaunchedStatus = status; print(Immunity); MagicCreation.tag = "Magic"; Rigidbody MagicRigidbody = MagicCreation.GetComponent <Rigidbody>(); //Adicionar rigidbody no clone MagicRigidbody.useGravity = false; //O clone não usar gravidade MagicRigidbody.freezeRotation = true; //O clone não poder girar MagicRigidbody.AddForce(transform.forward * Speed * 500 * Time.fixedDeltaTime, ForceMode.Impulse); //Lançar o clone, o 500 é o multiplicador para que não seja necessario alterar a speed para valores altos. } }